上一章主要了解了动态SQL语句的使用,在本章中了解下如何自动生成Mybatis代码。由于很多增删查改的方法都大同小异,如果每一个都手动去写的话非常繁琐,由Mybatis统一生成就行了。
1、添加Mybatis插件
使用Maven的Mybatis插件对于生成代码来说比较方便:
<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>
2、编写配置文件
在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>
<!-- 配置mysql 驱动jar包路径.用了绝对路径 -->
<classPathEntry location="/Users/zhangsiyuan/.m2/repository/mysql/mysql-connector-java/5.1.39/mysql-connector-java-5.1.39.jar" />
<context id="yihaomen_mysql_tables" targetRuntime="MyBatis3">
<!-- 为了防止生成的代码中有很多注释,比较难看,加入下面的配置控制 -->
<commentGenerator>
<property name="suppressAllComments" value="true" />
<property name="suppressDate" value="true" />
</commentGenerator>
<!-- 注释控制完毕 -->
<!-- 数据库连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/mybatis-chapter1?characterEncoding=utf8"
userId="root"
password="zsfarther">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 数据表对应的model 层 -->
<javaModelGenerator targetPackage="com.dfz.mybatis.model" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- sql mapper 隐射配置文件 -->
<sqlMapGenerator targetPackage="com.dfz.mybatis.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 在ibatis2 中是dao层,但在mybatis3中,其实就是mapper接口 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.dfz.mybatis.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要对那些数据表进行生成操作,必须要有一个. -->
<table schema="mybatis-chapter1" tableName="user" domainObjectName="User"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
mybatis generator配置项很多,就不一一解释,基本的配置项为:
1)配置数据库连接信息;
2)配置对应的model层;
3)配置mapper映射文件;
4)配置dao接口;
5)配置需要生成哪些数据库表的信息。
运行mybatis-generator:generate即可:
结果如下:
3、总结
1)Mybatis生成器主要配置generatorConfig.xml文件;
2)使用maven进行生成要运行mybatis-generator:generate,且最要不要乱给配置文件起名;
3)注意配置文件的路径即可。
未尽之处后期再补,代码下载地址:https://github.com/EdwardEricZhang/MybatisFun