MyBatis Generator反向生成Example实例
mybatis-generator.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="./mysql-connector-java-5.1.26-bin.jar" />
<context id="MySQLTables" targetRuntime="MyBatis3">
<!--是否覆盖xml文件: false 覆盖 true:追加 -->
<property name="mergeable" value="false"></property>
<!--分页插件 -->
<plugin type="org.mybatis.generator.plugins.PaginationPlugin" />
<!--实现model example 以及内部类序列化插件 -->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin2" />
<!--重写equals 、 hashCode -->
<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />
<!--重写 toString -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
<commentGenerator>
<property name="suppressAllComments" value="true" /><!-- 是否取消注释 -->
<property name="suppressDate" value="false" /> <!-- 是否生成注释代时间戳 -->
<property name="swagger" value="true" /> <!-- 是否生成swagger注解 -->
</commentGenerator>
<!-- 数据库连接信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://10.0.32.55:3306/metadata?characterEncoding=UTF-8"
userId="root" password="123456">
</jdbcConnection>
<!-- 只有一个属于forceBigDecimals,默认false。 如果字段精确超过0,生成BigDecimal 如果字段精确是0,总长度10-18生成Long;如果字段精确是0,
总长5-9生成Integer; 如果字段精确是0,总长小于5生成Short; 如果forceBigDecimals为true,统一生成BigDecimal -->
<javaTypeResolver>
<!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--生成 Model.java文件 -->
<javaModelGenerator targetPackage="com.thundersoft.iam.model"
targetProject="../../../java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 是否针对string类型的字段在set的时候进行trim调用 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成 Mapper.xml文件 -->
<sqlMapGenerator targetPackage="mapper"
targetProject="../../../resources/mybatis">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- 生成 Mapper.java文件,即dao层 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.thundersoft.iam.mapper" targetProject="../../../java">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 待生成的数据库中的表名,生成一个表对应的Java和xml文件就需要配置这一段 -->
<table tableName="user" domainObjectName="User">
<generatedKey column="id" sqlStatement="MySql" identity="true" />
</table>
</context>
</generatorConfiguration>
新建一个Ant Build用来执行mybatis-generator.xml,反向生成Example
Build.xml
<project default="genfiles" basedir=".">
<property name="generated.source.dir" value="${basedir}" />
<path id="ant.run.lib.path">
<pathelement location="${basedir}/mybatis-generator-core-1.3.6-SNAPSHOT.jar"/>
</path>
<target name="genfiles" description="Generate the files">
<taskdef name="mbgenerator"
classname="org.mybatis.generator.ant.GeneratorAntTask"
classpathref="ant.run.lib.path"/>
<mbgenerator
overwrite="true"
configfile="${basedir}/mybatis-generator.xml"
verbose="true">
<propertyset>
<propertyref name="generated.source.dir" />
</propertyset>
</mbgenerator>
</target>
</project>
结果显示在model层
之后@Autowired自动注入相关service即可使用Mapper进行数据库操作