MyBatis自带的逆向工程

首先在MySQL数据库创建两个表:Employee表和Department表,(用部门表的id作为员工表的外键)

1、需要的jar包有三个(jar包版本号也可以是其他版本号):

    mybatis-3.3.0.jar、mybatis-generator-core-1.3.2.jar、mysql-connector-java-5.1.7-bin.jar

2、创建一个Web项目:Eclipse--->File--->New--->Other--->Web--->Dynamic Web Project

3、jar包放在Web Content--->WEB-INF--->lib文件夹下

4、web.xml文件不用写配置

5、在Java Resources文件夹下建一个config文件夹,在config文件夹下创建一个generatorConfig.xml文件,下面的代码就是generatorConfig.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 
 6 <generatorConfiguration>
 7     <context id="testTables" targetRuntime="MyBatis3">
 8         <commentGenerator>
 9             <!-- 是否去除自动生成的注释 true:是 : false:否 -->
10             <property name="suppressAllComments" value="true" />
11         </commentGenerator>
12         <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
13         <jdbcConnection driverClass="com.mysql.jdbc.Driver"
14             connectionURL="jdbc:mysql://localhost:3306/ssm_crud" 
15             userId="root"
16             password="root">
17         </jdbcConnection>
18         <!-- 默认false,把JDBC DECIMAL和NUMERIC类型解析为Integer;为true时把JDBC DECIMAL
19         和NUMERIC类型解析为java.math.BigDecimal-->
20         <javaTypeResolver>
21             <property name="forceBigDecimals" value="false"/>
22         </javaTypeResolver>
23         <!-- targetPorject:生成PO(model)类的位置 -->
24         <javaModelGenerator targetPackage="com.test.model"
25             targetProject=".\src">
26             <!-- enableSubPackages:是否让schema作为包的后缀 -->
27             <property name="enableSubPackages" value="false"/>
28             <!-- 从数据库返回的值被清理前后的空格 -->
29             <property name="trimStrings" value="true"/>
30         </javaModelGenerator>
31         <!-- targetProject:mapper映射文件生成的位置 -->
32         <sqlMapGenerator targetPackage="com.test.mapper"
33             targetProject=".\src">
34             <!-- enableSubPackges:是否让schema作为包的后缀 -->
35             <property name="enableSubPackages" value="false"/>
36         </sqlMapGenerator>
37         <!-- targetPackges:mapper接口生成的位置 -->
38         <javaClientGenerator type="XMLMAPPER" targetPackage="com.test.mapper"
39             targetProject=".\src">
40             <!-- enableSubPackages:是否让schema作为包的后缀 -->
41             <property name="enableSubPackages" value="false"/>
42         </javaClientGenerator>
43         <!-- 指定数据库表,domainObjectName对应的是要生成的model的名字 -->
44         <table tableName="employee" domainObjectName="Employee"></table>
45         <table tableName="department" domainObjectName="Department"></table>
46     </context>
47 </generatorConfiguration>

6、在Java Resources下的src文件夹下分表创建com.test.model、com.test.mapper、com.test.start三个包

7、在com.test.start包下创建一个名为Generator.java的类,写好generatorConfig.xml文件后运行Generator.java的代码就可以生成model的java文件和mapper的java接口文件一个mapper的xml文件了。下面是用于自动生成的Generator.java的类代码

package com.test.start;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;


public class Generator {
    public static void main(String[] args) throws Exception{
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File("config\\generatorConfig.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(configFile);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        myBatisGenerator.generate(null);
        
        System.out.println("逆向工程自动生成代码成功");
    }
}

8、查看com.test.model包和com.test.mapper包下是否已经生成了文件

猜你喜欢

转载自www.cnblogs.com/j120zjb/p/9230159.html