MyBatis Generator:Mybatis代码生成器

一:MyBatis Generator的官方资料

MyBatis Generator官方文档
github源码:MyBatis Generator (MBG)

二:MyBatis Generator介绍

MyBatis Generator:Mybatis代码生成器

大致的意思是:MyBatis Generator可以帮助所有版本的MyBatis和2.2.0以上版本的iBatis生成代码。通过自动生成库表对应的实体Bean,数据操作层接口Mapper和对应的xml文件(编写SQL),致力于减少开发者做简单CRUD的工作量,而只需花费精力在复杂的连接查询和存储过程上。

三:自己动手写个Demo

我自己是看着官方文档学习MyBatis Generator的,下面就介绍下自己看过的一些部分:

MyBatis Generator:Mybatis代码生成器

目前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下。

MyBatis Generator:Mybatis代码生成器

意思是:

  • 如何连接数据库。
  • 生成什么对象,如何生成。
  • 要使用数据库的哪些表。

大家可以直接在官方文档中复制这个文件的内容,然后修改一些属性值。

MyBatis Generator:Mybatis代码生成器

  • <classPathEntry>:添加jar或是zip文件到MyBatis Generator(MBG)运行环境的classpath中。
  • <context>:指定生成一系列对象的环境。
  • <commentGenerator>:定义了生成的注释形式。
  • <jdbcConnection>:指定要连接的数据库。
  • <javaModelGenerator>:与生成的实体相关。有两个必须的属性:

MyBatis Generator:Mybatis代码生成器

在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:Mybatis代码生成器

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

MyBatis Generator:Mybatis代码生成器

在Goals中输入mybatis-generator:generate(运行不会覆盖之前的。)
或-Dmybatis.generator.overwrite=true mybatis-generator:generate(运行会覆盖之前的。)

自己写的Mybatis Generator例子

相关推荐