0%

MyBatis反向生成操作的记录

MyBatis反向生成配置

使用

  • 新建maven模块 给POM添加下面给出的依赖和插件
  • resources文件夹中新建 generatorConfig.xml文件
  • 改配置文件中的数据库信息 包名等
  • src/main/java 下按照配置文件新建对应的包结构,在resoures中也建立对应的包结构用以接收生成的xml文件
  • maven中找到mybatis-generator下的mybatis-generator:generate点击
  • 生成之后就可以在包和文件夹中找到实体类 实体类的example类 和mapper文件复制到需要使用的位置即可

配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC
"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
<!--逆向工程的基本配置-->
<context id="context" targetRuntime="MyBatis3">

<!--mybatis支持很多插件,这些插件都在 org.mybatis.generator.plugins包下 -->
<!-- 配置生成pojo的序列化的插件 -->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
<!-- 配置生成pojo的toString的插件 -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>

<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>

<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/<dbname>"
userId="<username>"
password="<password>"/>
<!--
默认为false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
为true时,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal
-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>

<!-- targetProject:生成 POJO 实体类的位置 -->
<javaModelGenerator targetPackage="org.example.domain" targetProject="src/main/java">
<!-- enableSubPackages:是否让schema 作为包的后缀 -->
<property name="enableSubPackages" value="true"/>
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>


<!-- 生成 XML文件 -->
<sqlMapGenerator targetPackage="org.example.mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>

<!--生成接口-->
<javaClientGenerator type="XMLMAPPER"
targetPackage="org.example.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>


<!-- 指定数据库表 -->
<table tableName="account" domainObjectName="Account" mapperName="AccountMapper"
enableCountByExample="false" enableDeleteByExample="false"
enableUpdateByExample="false"/>

<!--<table tableName="user" domainObjectName="User" mapperName="UserMapper"
enableCountByExample="false" enableDeleteByExample="false"
enableUpdateByExample="false"/>-->

</context>

</generatorConfiguration>

POM

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
</dependencies>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>

参考

http://mybatis.org/generator/index.html

Welcome to my other publishing channels