mybatis逆向工程,生成java代码和mapper.xml文件

准备工作:
1、数据库与表
2、准备jar包,链接:https://pan.baidu.com/s/1KfA8cqubd3JnmW5EaL6DLQ,提取码:my99
3、修改generatorConfig.xml
1)数据库的连接信息、数据库名称
2)生成文件的位置(pojo类、mapper接口、mapper.xml)
3)逆向生成对应的表

操作步骤:

1、创建一个Java Project,命名为mybatis-generator

2、导入jar包
log4j-1.2.17.jar
mybatis-3.5.2.jar
mybatis-generator-core-1.3.2.jar
mysql-connector-java-5.1.47.jar(连接MySQL数据库的驱动)
ojdbc14.jar(连接Oracle数据库的驱动)

3、在工程目录下,创建一个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>
   <context id="testTables" targetRuntime="MyBatis3">
      <commentGenerator>
         <!-- 是否去除自动生成的注释,true(是)、false(否) -->
         <property name="suppressAllComments" value="true" />
      </commentGenerator>

      <!-- 数据库连接的信息:驱动类、连接地址、用户名、密码 -->
      <jdbcConnection driverClass="com.mysql.jdbc.Driver"
         connectionURL="jdbc:mysql://10.1.1.74:3306/mybatis?useSSL=false"
         userId="root" password="123456">
      </jdbcConnection>

      <!-- 默认false,把JDBC DECIMAL 和NUMERIC 类型,解析为Integer,
         为true时,把JDBC DECIMAL 和NUMERIC 类型,
         解析为java.math.BigDecimal -->
      <javaTypeResolver>
         <property name="forceBigDecimals" value="false" />
      </javaTypeResolver>

      <!-- targetProject:生成POJO类的位置 -->
      <javaModelGenerator targetPackage="cn.jin51.pojo"
         targetProject=".\src">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
         <!-- 从数据库返回的值被清理前后的空格 -->
         <property name="trimStrings" value="true" />
      </javaModelGenerator>

      <!-- targetProject:mapper映射文件生成的位置 -->
      <sqlMapGenerator targetPackage="cn.jin51.mapper"
         targetProject=".\src">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
      </sqlMapGenerator>

      <!-- targetPackage:mapper接口生成的位置 -->
      <javaClientGenerator type="XMLMAPPER"
         targetPackage="cn.jin51.mapper" targetProject=".\src">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
      </javaClientGenerator>

      <!-- 指定数据库的表 -->
      <table schema="" tableName="user"></table>
   </context>
</generatorConfiguration>

4、在src目录下,创建log4j.properties文件

log4j.rootLogger=DEBUG, Console
# Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

5、在src目录下,创建一个java类

package cn.jin51;

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 GeneratorSqlMap {
    public void generator() throws Exception{
        List<String> warnings = new ArrayList<String>();
        //指定 逆向工程配置文件
        File configFile = new File("generatorConfig.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(configFile);
        DefaultShellCallback callback = new DefaultShellCallback(true);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(
                config, callback, warnings);
        myBatisGenerator.generate(null);
    }

    public static void main(String[] args) throws Exception {
        try {
            GeneratorSqlMap generatorSqlMap = new GeneratorSqlMap();
            generatorSqlMap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

版权声明:本文为weixin_30119925原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。