09.MyBatis的逆向工程

逆向工程:(通过表自动生成实体类和映射文件)

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 }
原文地址:https://www.cnblogs.com/man-tou/p/11365884.html