mybatis ------ 逆向工程(十)
①、新建一个工程,并导入相应的jar包
注意:使用逆向工程时,最好新建一个工程,如果你在原来的工程中使用,那也可以,但是有一定的风险,因为mybatis是根据配置文件中配置的路径来生成的文件的,如果你工程中有相同名字的文件,那么就会被新生成的文件所覆盖。所以实际开发中,我们一般新建一个工程,将生成的文件复制到自己的所需的工程中。
②、创建配置文件 generatorConfig.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="testTables" targetRuntime="MyBatis3"><commentGenerator><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true" /></commentGenerator><!--数据库连接的信息:驱动类、连接地址、用户名、密码 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/mybatisrelation" userId="root"password="root"></jdbcConnection><!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"userId="yycg"password="yycg"></jdbcConnection> --><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL和NUMERIC类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- targetProject:生成PO类的位置,重要!! --><javaModelGenerator targetPackage="com.ys.po"targetProject=".\src"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false" /><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true" /></javaModelGenerator><!-- targetProject:mapper映射文件生成的位置,重要!! --><sqlMapGenerator targetPackage="com.ys.mapper"targetProject=".\src"><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- targetPackage:mapper接口生成的位置,重要!! --><javaClientGenerator type="XMLMAPPER"targetPackage="com.ys.mapper"targetProject=".\src"><property name="enableSubPackages" value="false" /></javaClientGenerator><!-- 指定数据库表,要生成哪些表,就写哪些表,要和数据库中对应,不能写错! --><table tableName="items"></table><table tableName="orders"></table><table tableName="orderdetail"></table><table tableName="user"></table> </context>
</generatorConfiguration>
注意:
1、连接数据库的配置,包括数据名称,数据库用户名密码等配置
2、指定要生成代码的包名,包括实体类po的包名,mapper的包名等
3、指定数据库中哪些表需要生成文件
③、运行主程序生成代码
package com.ys.test;import java.io.File;
import java.util.ArrayList;
import java.util.List;import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;public class GeneratorTest {public void testGenerator() throws Exception{List<String> warnings = new ArrayList<String>();boolean overwrite = true;//指向逆向工程配置文件File configFile = new File(GeneratorTest.class.getResource("/generatorConfig.xml").getFile());ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback, warnings);myBatisGenerator.generate(null);}public static void main(String[] args) throws Exception {try {GeneratorTest generator = new GeneratorTest();generator.testGenerator();} catch (Exception e) {e.printStackTrace();}}
}
直接运行上面的程序,控制台会打印如下代码,说明生成代码成功
然后刷新generatorConfig.xml 文件中指定的包,会发现生成了如下文件
mybatis ------ 逆向工程(十)相关推荐
- mybatis逆向工程配置文件怎么再偷懒(懒出天际)
使用mybatis逆向工程时,需要在逆向工程配置文件那里指定要对那些表进行逆向工程,如果数据表很多的话,一个一个地写有点麻烦,为什么不自动生成这些XML字段呢 (我的需求是,将数据表首字母大写,然后下 ...
- spring boot 1.5.4 整合 mybatis(十二)
上一篇:spring boot 1.5.4 整合log4j2(十一) Spring Boot集成Mybatis 更多更详细的配置参考文件:application.properties和<Spri ...
- mybatis逆向工程生成的实体类和表不一致缺少某些字段或者出现其他字段
错误展示 数据库中product表的相应字段 使用Mybatis逆向工程生成的Procuct实体类 大家可以看到生成的文件和表对比,多了些别的字段,少了表中对应的字段. 原理 那是因为mybatis逆 ...
- springboot整合mybatis增删改查(三):mybatis逆向工程
上一篇已经把项目基本框架完善,接下来就是利用Mybatis Generator逆向工程进行mybatis的整合. 我们在创建项目开始的时候已经勾选web,mybatis,sql等,但是这些依赖还是不够 ...
- mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比,于是写了个插件。
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:又一程序员进了ICU:压垮一个家庭,一张结算单就够 个人原创100W+访问量博客:点击前往,查看更多 荒腔走板 ...
- Springboot mybatis逆向工程org.springframework.beans.factory.BeanCreationException: Error creating bean错误
前言 声明:这个错误只是作者在学习时候的一种情况,并不一定能够解决所有情况.还望各位审视出错具体环境!谢谢. 今天使用mybatis逆向工程 springboot本想着少写点代码,但被个bug纠缠到死 ...
- IDEA中Mybatis逆向工程使用方法
1.首先创建一个Spring Boot项目 工程目录如下所示: 2..添加maven依赖 <!--mysql依赖--> <dependency><groupId>m ...
- MyBatis 逆向工程(MyBatis 自动生成接口以及xml)的使用
刚学MyBatis逆向工程(还以为要反汇编呢.....) MyBatis逆向工程 个人理解就是链接数据库自动生成相关的增删改查相关的类 以及xml文件 (其中有一些不足 应该就是多表链接的问题需要自己 ...
- (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码
http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...
- Mybatis 逆向工程使用姿势不对文档全被清空,一怒之下写了个插件……
作者 | why技术 责编 | 王晓曼 来源 | why技术 荒腔走板 时间过的真是快,一周又要结束了.那么,你比上周更博学了吗?先来一个简短的荒腔走板,给冰冷的技术文注入一丝色彩. 上面这张照片是我 ...
最新文章
- RHEL6新特性之联网和服务
- 报名 | 极简大数据决策,培养数据化思维讲座
- JVM -- 运行时栈帧结构简介
- java rmi 还有用吗_java rmi使用后的感想
- 【kafka】kafka Replica无法从leader同步消息
- php将png图片合并到jpg图片上,php如何将png转换成jpg
- 通过 scrapy 爬取豆果美食热门数据, 使用 flask 搭建后端, 最后搭建一个简单的小程序
- Layui 表格分页控件
- 深度学习数据增强方法总结
- JavaScript实现的手风琴图片切换,鼠标悬停任意图片html前端源码
- 使用Word Embedding构造简洁有效的文本摘要系统
- 带你认识世界最值钱的十种货币
- PHP毕业设计项目作品源码选题(2)电子商务网上购物商城毕业设计毕设作品开题报告
- 机器人学回炉重造(1-2):各种典型机械臂的正运动学建模(标准D-H法)
- element-ui换肤,全局换肤
- 【下一步计划】毕业后
- 电荷量Q=CU=It=Ne;左右手定则总结+安培定律 2020-3-15
- 学点历史-欧洲君主命名
- 特征工程——二手车交易预测
- LeetCode每日一题,积少成多,量变到质变(最近比较忙不定期持续更新.........)
热门文章
- VS2013 异常处理
- [导入] 用java把页面日期控件写出来
- 2-3-TOMCAT服务器
- 阶分差数 matlab,matlab中aicbic确定阶数的太小
- mysql 目录更改 php_树莓派搭建LAMP,然后更改根目录
- 路由包含#号导致的nginx_分布式实战:Nginx缓存之OpenResty部署
- netty sync方法_netty是如何封装NIO的
- 异常将上下文初始化事件发送到类的侦听器实例._Java CLassLoader类加载器详解,一点课堂(多岸学院)...
- wxpython滑动面板_wxpython实现按钮切换界面的方法
- 电商移动促销页面设计素材PSD分层模板,轻松出稿稿