利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件
解决问题:
可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。
测试环境准备:
新建一个mysql数据库,例如mungerzTest。
生成一张主键为自增ID的学生表:
CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar2(32) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
1. 生成工具准备
可以在Maven仓库中下载jar包,也可以在这里下载:http://u.163.com/vxeB85EN 提取码: gy6VafDg。
2. 修改配置文件。修改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.0.4.jar"/> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true"/> <!-- 是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--数据库链接URL,用户名、密码 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.43.167/mungerTest01" userId="root" password="Munger_123"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- 生成模型的包名和位置--> <javaModelGenerator targetPackage="com.mungerz.domain" targetProject="src"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- 生成映射文件的包名和位置--> <sqlMapGenerator targetPackage="com.mungerz.mapping" targetProject="src"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!-- 生成DAO的包名和位置--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.mungerz.dao" targetProject="src"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--> <table tableName="student" domainObjectName="Student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>
注意:配置文件中的targetPackage属性,必须和项目中的包名一一对应,不然,运行时会出错。需要手动改生成的配置文件。如果数据库里面的表很多,这将是灾难。
3.运行
在文件目录中新创建一个文件src,对应配置文件中的targetProject属性。
在命令行中,执行:
java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite
提示成功,就会在src生成实体类、DAO接口和Mapping映射文件。