MyBatis Generator:Mybatis代码生成器
一:MyBatis Generator的官方资料
MyBatis Generator官方文档
github源码:MyBatis Generator (MBG)
二:MyBatis Generator介绍
大致的意思是:MyBatis Generator可以帮助所有版本的MyBatis和2.2.0以上版本的iBatis生成代码。通过自动生成库表对应的实体Bean,数据操作层接口Mapper和对应的xml文件(编写SQL),致力于减少开发者做简单CRUD的工作量,而只需花费精力在复杂的连接查询和存储过程上。
三:自己动手写个Demo
我自己是看着官方文档学习MyBatis Generator的,下面就介绍下自己看过的一些部分:
目前MyBatis Generator的最新版本是1.3.6。
(1)What's New
介绍了各个不同版本的Generator。其中目前最新的版本1.3.6可以使用MyBatis Dynamic SQL。
(2)XML Configuration Reference
在Maven项目中,配置文件generatorConfig.xml需要放在src/main/resources下。
意思是:
- 如何连接数据库。
- 生成什么对象,如何生成。
- 要使用数据库的哪些表。
大家可以直接在官方文档中复制这个文件的内容,然后修改一些属性值。
- <classPathEntry>:添加jar或是zip文件到MyBatis Generator(MBG)运行环境的classpath中。
- <context>:指定生成一系列对象的环境。
- <commentGenerator>:定义了生成的注释形式。
- <jdbcConnection>:指定要连接的数据库。
- <javaModelGenerator>:与生成的实体相关。有两个必须的属性:
在maven项目中的写法是这样的:
<javaModelGenerator targetPackage="gdut.ff.domain" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator>
- <sqlMapGenerator>:定义SQL映射的生成。
- <javaClientGenerator>:生成接口和类以达到轻易使用生成的模型和xml映射文件的目的。
<table>
:选择要进行映射的数据库表。
(3)Running MyBatis Generator
Mybatis Generator运行的方式有很多种。我自己用的是Maven插件的方式。
第一步: 在pom.xml文件中加入插件的依赖
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.6</version> </plugin>
和MyBatis依赖
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency>
如果选择的生成方式是MyBatis3DynamicSQL,需要加上MyBatis Dynamic SQL的依赖和MyBatis Generator Core的依赖,要求jdk版本是1.8及以上。
<dependency> <groupId>org.mybatis.dynamic-sql</groupId> <artifactId>mybatis-dynamic-sql</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.6</version> </dependency>
第二步:Maven build
在Goals中输入mybatis-generator:generate(运行不会覆盖之前的。)
或-Dmybatis.generator.overwrite=true mybatis-generator:generate(运行会覆盖之前的。)