公司中使用的SSM框架,其中关于Mybatis逆向工程这一部分是经理之前自己封装的工具,经常改表结构,这个工作一直在反复的重复,说实话小编的觉得有点烦啊。每次都好多文件,粘过来粘过去,唉,虽然麻烦,但是也很佩服经理的技术能力,毕竟我写起来还有点小困难。
其实mybatis官方提供了逆向工程,用于解决这种重复的工作。而且生成模板有两种,一种是MyBatis3Simple简单版仅生成CRUD,另一种MyBatis3豪华版,豪华版带条件的增删改查。
使用Mybatis逆向工程的配置文件如下mbg.xml
启动测试类,直接生成
@Test
public void testMbg() throws Exception {
List warnings = new ArrayList();
boolean overwrite = true;
File configFile = new File("mbg.xml");
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);
}
生成内容包含四部分
1、***POJO.java
2、***Example.java
3、***Mapper.java
4、***Mapper.xml
因为封装了一些方法,所以在.java文件和.xml文件中会有一些不需要开发人员修改的内容,从程序设计的角度来说应该对这一部分关闭修改。而且Example.java文件内容基本没有改动,但是会因为表结构的修改而重新覆盖该文件,这一部分工作对应程序开发是重复的,所以应该想办法尽量避免。
正因为Mybatis本身提供逆向工具存在的问题,所以通用Mapper在Mybatis的基础上完善,来解决这些重复的问题。而且这是一位中国人封装的,所以学习成本极低。
作用:替我们生成常用增删改查操作的SQL语句
官方发布地址:
https://gitee.com/free
https://gitee.com/free/Mapper/wikis/1.1-java?parent=1.integration
通用Mapper逆向工具配置使用
pom文件
4.0.0
com.atguigu.mapper.mbg
Pro02MapperMBG
0.0.1-SNAPSHOT
${basedir}/src/main/java
com.atguigu.shop.mappers
com.atguigu.shop.entities
${basedir}/src/main/resources
mappers
4.0.0-beta3
5.1.37
tk.mybatis
mapper
4.0.0-beta3
org.mybatis
mybatis
3.2.8
mysql
mysql-connector-java
${mysql.version}
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.2
${basedir}/src/main/resources/generator/generatorConfig.xml
true
true
mysql
mysql-connector-java
${mysql.version}
tk.mybatis
mapper
${mapper.version}
generatorConfig.xml具体配置
config.properties
jdbc.driverClass = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/common_mapper
jdbc.user = root
jdbc.password = root
#c3p0
jdbc.maxPoolSize=50
jdbc.minPoolSize=10
jdbc.maxStatements=100
jdbc.testConnection=true
# mapper
mapper.plugin = tk.mybatis.mapper.generator.MapperPlugin
mapper.Mapper = tk.mybatis.mapper.common.Mapper
运行
在pom.xml这一级目录的命令行窗口中执行如下命令即可
mvn mybatis-generator:generate
生成内容为三部分
1、**POJO.Java
2、***Mapper.java
3、***Mapper.xml
在***Mapper.java类继承了Mapper
如果公司内部封装的逆向工具没有理想那么优秀,推荐使用通用Mapper进行替代,减少开发过程不必要的操作,而且便捷灵活。