前提条件
假设mybatis的相关依赖已经引入。这里只描述如何自动生成mybatis的映射和实体定义文件的方法。
pom配置
在pom文件中增加如下配置
<build>
<plugins>
<!-- 自动生成实体类 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
规则配置
在src/main/resource目录中增加generatorConfig.xml文件,具体内容如下:
<?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>
<!--数据库驱动路径-->
<classPathEntry location="D:\maven\repo\mysql\mysql-connector-java\5.1.40\mysql-connector-java-5.1.40.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="false"/>
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://10.1.1.1:3306/mapping" userId="user" password="password">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--数据表映射的实体类定义文件目录定义和相关参数设置-->
<javaModelGenerator targetPackage="com.my.domain" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--sql语句定义文件生成的位置目录定义和相关参数设置-->
<sqlMapGenerator targetPackage="com.my.mybatis" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--sql语句映射成java接口定义文件生成的位置目录定义和相关参数设置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.my.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--下面是数据库表名和项目中需要生成类的名称,建议和数据库保持一致,如果有多个表,添加多个节点即可-->
<table tableName="user" domainObjectName="User" enableCountByExample="false" enableSelectByExample="false" enableUpdateByExample="false" enableDeleteByExample="false">
</table>
<table tableName="config" domainObjectName="Config" enableCountByExample="false" enableSelectByExample="false" enableUpdateByExample="false" enableDeleteByExample="false">
</table>
</context>
</generatorConfiguration>
参数说明一下:
- classPathEntry,用来指定mysql-connector-java的jar文件具体路径
- jdbcConnection,用例指定mysql数据库的连接字符串
- javaModelGenerator,实体定义参数
- sqlMapGenerator,sql语句定义
- javaClientGenerator,sql映射接口定义
- table,定义需要生成文件的数据表
生成
执行 mvn mybatis-generator:generate,然后在工程下相关目录,就能看到指定数据表生成的实体,sql定义和sql映射文件。
更加详细的说明请查看官方文档:http://mbg.cndocs.ml
网友评论