MyBatis(七)逆向工程
1.在pom.xml中配置插件:
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
2.在resource下新建一个文件:generatorConfig.xml
还得准备好jdbc.properties文件。
复制的话需要修改的有:生成文件的包名以及最后要指定表。
<?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>
<!--导⼊属性配置-->
<properties resource="jdbc.properties"/> <!--指定特定数据库的jdbc驱动jar包的位置-->
<classPathEntry location="${location}"/>
<context id="default" targetRuntime="MyBatis3">
<!-- optional,旨在创建class时,对注释进⾏控制 -->
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--jdbc的数据库连接 -->
<jdbcConnection
driverClass="${driver}" connectionURL="${url}" userId="${user}"
password="${password}">
</jdbcConnection>
<!-- ⾮必需,类型处理器,在数据库类型和java类型之间的转换控制-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--Model模型⽣成器,⽤来⽣成含有主键key的类,记录类 以及查询Example类
targetPackage 指定⽣成的model⽣成所在的包名
targetProject 指定在该项⽬下所在的路径 -->
<javaModelGenerator targetPackage="com.dh.pojo"
targetProject="src/main/java">
<!-- 是否允许⼦包,即targetPackage.schemaName.tableName -->
<property name="enableSubPackages" value="false"/>
<!-- 是否对model添加 构造函数 -->
<property name="constructorBased" value="true"/>
<!-- 是否对类CHAR类型的列的数据进⾏trim操作 -->
<property name="trimStrings" value="true"/>
<!-- 建⽴的Model对象是否 不可改变 即⽣成的Model对象不会有 setter⽅法,只有构造
⽅法 -->
<property name="immutable" value="false"/>
</javaModelGenerator>
<!--mapper映射⽂件⽣成所在的⽬录 为每⼀个数据库的表⽣成对应的SqlMap⽂件 -->
<sqlMapGenerator targetPackage="com.dh.dao"
targetProject="src/main/resources">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!--mapper接⼝⽂件⽣成所在的⽬录 为每⼀个数据库的表⽣成对应的接⼝⽂件 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.dh.dao"
targetProject="src/main/java">
<!-- enableSubPackages:是否让schema(数据库名称)作为包的后缀 -->
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>若⾃定义配置⽂件名称则需要在pom中指定
<!--指定需要⽣成的表-->
<table tableName="products"></table>
</context>
</generatorConfiguration>
3.生成文件
可在idea右侧的maven菜单中双击执⾏mybatis-generator:generate。
会生成对应指定表的pojo,以及接口Mapper,以及Mapper.xml:里面已经自动生成了一些基本的单表sql语句。