逆向工程:(通过表自动生成实体类和映射文件)
1.导入mybatis-generator-core-1.3.2.jar的jar包
2.在src
下创建并编写配置文件,如下,
generator.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5 <generatorConfiguration> 6 <context id="DB2Tables" targetRuntime="MyBatis3"> 7 <commentGenerator> 8 <!-- 9 suppressAllComments属性值: 10 true:自动生成实体类、SQL映射文件时没有注释 11 true:自动生成实体类、SQL映射文件,并附有注释 12 --> 13 <property name="suppressAllComments" value="true" /> 14 </commentGenerator> 15 <!-- 数据库连接信息 --> 16 <jdbcConnection driverClass="com.mysql.jdbc.Driver" 17 connectionURL="jdbc:mysql:///MyBatis?serverTimezone=UTC" 18 userId="root" password="root"> 19 </jdbcConnection> 20 <!-- 21 forceBigDecimals属性值: 22 true:把数据表中的DECIMAL和NUMERIC类型, 23 解析为JAVA代码中的java.math.BigDecimal类型 24 false(默认):把数据表中的DECIMAL和NUMERIC类型, 25 解析为解析为JAVA代码中的Integer类型 26 --> 27 <javaTypeResolver> 28 <property name="forceBigDecimals" value="false" /> 29 </javaTypeResolver> 30 <!-- 31 targetProject属性值:实体类的生成位置 32 targetPackage属性值:实体类所在包的路径 33 --> 34 <javaModelGenerator targetPackage="com.offcn.entity" 35 targetProject=".\src"> 36 <!-- trimStrings属性值: 37 true:对数据库的查询结果进行trim操作 38 false(默认):不进行trim操作 39 --> 40 <property name="trimStrings" value="true" /> 41 </javaModelGenerator> 42 <!-- 43 targetProject属性值:SQL映射文件的生成位置 44 targetPackage属性值:SQL映射文件所在包的路径 45 --> 46 <sqlMapGenerator targetPackage="com.offcn.mapper" 47 targetProject=".\src"> 48 </sqlMapGenerator> 49 <!-- 生成动态代理的接口 --> 50 <javaClientGenerator type="XMLMAPPER" targetPackage="com.offcn.mapper" targetProject=".\src"> 51 </javaClientGenerator> 52 <!-- 指定数据库表 --> 53 <table tableName="student"> </table> 54 <table tableName="studentcard"> </table> 55 <table tableName="studentclass"> </table> 56 </context> 57 </generatorConfiguration>
3.有了自动生成需要的配置文件generator.xml,就可以编写自动生成的相关代码,如下:
MyBatis_Generator.java
1 public class Generator { 2 public static void main(String[] args) throws Exception { 3 File f = new File("src/generator.xml"); 4 List<String> warnings = new ArrayList<String>(); 5 ConfigurationParser cp = new ConfigurationParser(warnings); 6 Configuration config = cp.parseConfiguration(f); 7 DefaultShellCallback callBack = new DefaultShellCallback(true); 8 MyBatisGenerator generator = new MyBatisGenerator(config, callBack, warnings); 9 generator.generate(null); 10 } 11 }