对于使用ssm框架的项目来说,mybatis的逆向工程必定会用到,用了这么长时间,趁闲下来写个详细的教程吧,供刚开始使用mybatis的新人参考。
需要文件:
我们主要用到Mybatis-Generator来帮我们自动生成文件,下载地址: https://github.com/mybatis/generator/releases ;
本文以mysql为例,所以要用到mysql的数据库的驱动jar包;
另外需要Mybatis-Generator的配置文件,可以新建一个名为generatorConfig.xml
的xml文件;
所需文件一共有:
其中src为生成文件目录。
下面为配置文件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="mysql-connector-java-5.1.32.jar"/>
<context id="TestTables" 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/test" userId="root" password="root">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--生成Model类存放位置-->
<javaModelGenerator targetPackage="com.test.model" targetProject="src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--生成Mapper映射文件存放位置-->
<sqlMapGenerator targetPackage="mapper" targetProject="src">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!--生成Dao类存放位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.test.dao" targetProject="src">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!--生成对应表及类名-->
<table tableName="user" domainObjectName="User"enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
需要修改的地方,代码里注释已经很清楚了。其中配置文件里的
<table tableName="user" domainObjectName="User"enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
tableName和domainObjectName为必选项,分别代表数据库表名和生成的实力类名,其余的可以自定义去选择(一般情况下都不用写,用默认)。
执行命令:java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite
即进到mybatis-generator-core-1.3.5.jar所在目录运行jar包即可,完成如图:
此时已在src目录下生成的映射文件及pojo类,拷到项目中即可。