逆向工程(generator)----->由表帮我们来生成dao、bean、xml

1)引入mybatis-generator的jar包

2)在工程目录下新建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     <!-- 数据库驱动jar包所在的位置 -->
 7   <classPathEntry location="D:\mybatis\generator830\lib\mysql-connector-java-5.1.47.jar" />
 8   <context id="DB2Tables" targetRuntime="MyBatis3">
 9  <!--  去除注释 -->
10       <commentGenerator>
11       <property name="suppressAllComments" value="true" />
12         </commentGenerator>
13    <!--  数据源信息 -->
14     <jdbcConnection driverClass="com.mysql.jdbc.Driver"
15         connectionURL="jdbc:mysql://localhost:3306/mybatis"
16         userId="root"
17         password="root">
18     </jdbcConnection>
19     <javaTypeResolver >
20       <property name="forceBigDecimals" value="false" />
21     </javaTypeResolver>
22     <!-- 生成的实体类所在的位置 -->
23     <javaModelGenerator targetPackage="com.zhiyou.clg.bean" targetProject="./src">
24       <property name="enableSubPackages" value="true" />
25       <property name="trimStrings" value="true" />
26     </javaModelGenerator>
27     <!-- 生成的映射文件所在的位置 -->
28     <sqlMapGenerator targetPackage="com.zhiyou.clg.mapper"  targetProject="./resource">
29       <property name="enableSubPackages" value="true" />
30     </sqlMapGenerator>
31     <!-- 生成的dao所在的位置 -->
32     <javaClientGenerator type="XMLMAPPER" targetPackage="com.zhiyou.clg.dao"  targetProject="./src">
33       <property name="enableSubPackages" value="true" />
34     </javaClientGenerator>
35     <!-- 表和实体类的对象关系
36         schema:该表所在的数据库
37         tableName:表名
38         domainObjectName:实体类名
39      -->
40     <table schema="DB2ADMIN" tableName="user" domainObjectName="User"  
41      enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false" >
42       <property name="useActualColumnNames" value="true"/>
43       <generatedKey column="ID" sqlStatement="DB2" identity="true" />
44       <columnOverride column="DATE_FIELD" property="startDate" />
45       <ignoreColumn column="FRED" />
46       <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
47     </table>
48 
49   </context>
50 </generatorConfiguration>

3)在src目录下新建test包,再新建Test类,在main下复制官网内容,导包后运行

 1 package com.zhiyou.clg.test;
 2 
 3 import java.io.File;
 4 import java.io.IOException;
 5 import java.util.ArrayList;
 6 import java.util.List;
 7 
 8 import org.mybatis.generator.api.MyBatisGenerator;
 9 import org.mybatis.generator.config.Configuration;
10 import org.mybatis.generator.config.xml.ConfigurationParser;
11 import org.mybatis.generator.exception.XMLParserException;
12 import org.mybatis.generator.internal.DefaultShellCallback;
13 
14 public class TestGenerator {
15     public static void main(String[] args) throws Exception{
16         List<String> warnings = new ArrayList<String>();
17            boolean overwrite = true;
18            File configFile = new File("generator.xml");
19            ConfigurationParser cp = new ConfigurationParser(warnings);
20            Configuration config = cp.parseConfiguration(configFile);
21            DefaultShellCallback callback = new DefaultShellCallback(overwrite);
22            MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
23            myBatisGenerator.generate(null);
24     }
25 }
原文地址:https://www.cnblogs.com/lwgok1003/p/11442721.html