什么是逆向工程
MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。
使用逆向工程
使用MyBatis的逆向工程,需要导入逆向工程的jar包,我用的是mysql-connector-java-5.1.35.jar
,下面开始总结一下MyBatis逆向工程的使用步骤。
新建一个maven工程;
这里我们在WEB-INF下创建一个lib文件夹,加入mysql驱动jar;然后我们在此直接使用一个插件。我使用的是eclipse;
输入:mybatis generator 然后安装......intall always.....自动重启.....
点击工程右键,New-Other 输入 my
双击,生成generatorConfig.xml文件,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:\java\workspace\mytestssm\src\main\webapp\WEB-INF\lib\mysql-connector-java-5.1.35.jar" />
<!-- id 标志 targetRuntime 可选项,可填值为MyBatis3,MyBatis3Simple(默认的),Ibatis2Java2,Ibatis2Java5 -->
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true" />
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mymaster" userId="root" password="root">
</jdbcConnection>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
NUMERIC 类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetProject:生成model类的位置 -->
<javaModelGenerator targetPackage="com.test.model"
targetProject="mytestssm/src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="mapper"
targetProject="mytestssm/src/main/resources">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.test.dao" targetProject="mytestssm\src\main\java">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定数据库表,多个表就复制、修改下面这段 -->
<table tableName="t_blog" domainObjectName="BLOG" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"> </table>
</context>
</generatorConfiguration>
其中generatorConfig.xml的各标签意思可参照:https://www.cnblogs.com/GaiDynasty/p/4088531.html
接下来就可以生成了:右键点击 Run As-Run MyBatis Generator
至此就结束了。
注意:路径不要写错了。当时 写这些路径的时候写的
就会报找不到文件的错误。
好了,MyBatis逆向工程自动生成代码在工作中使用是很方便快捷的方式。