Mybatis逆向工程POJO

时间:2021-01-10 05:12:05

Mybatis逆向工程POJO



第一步建一个Java项目如我的MybatisPOLO

第二步导入项目中所需要的JAR包。上面图中有需要5个jar包。

第三部配置生成代码的generatroConfig.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>
         <!--数据库连接的信息:驱动类、连接地址、用户名、密码,这里配置的是mysql的,当然也可以配置oracle等数据库 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
             connectionURL="jdbc:mysql://localhost:3306/test" userId="root"
            password="">
         </jdbcConnection>
 
         <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 
             和 NUMERIC 类型解析为java.math.BigDecimal -->
         <javaTypeResolver>
             <property name="forceBigDecimals" value="false" />
       </javaTypeResolver>


         <!-- targetProject:生成PO类的位置 -->
         <javaModelGenerator targetPackage="com.mybatis.entity"
             targetProject=".\src">
             <!-- enableSubPackages:是否让schema作为包的后缀 -->
             <property name="enableSubPackages" value="false" />
             <!-- 从数据库返回的值被清理前后的空格 -->
             <property name="trimStrings" value="true" />
         </javaModelGenerator>
         <!-- targetProject:mapper映射文件生成的位置 -->
         <sqlMapGenerator targetPackage="com.mybatis.mapper"
             targetProject=".\src">
             <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
         </sqlMapGenerator>
         <!-- targetPackage:mapper接口生成的位置 -->
         <javaClientGenerator type="XMLMAPPER"
             targetPackage="com.mybatis.mapper" targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
       </javaClientGenerator>
         <!-- 指定数据库表 -->
         <table tableName="user"></table>
     </context>
</generatorConfiguration>


第四步:编写生成程序的代码

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>();
         boolean overwrite = true;
         //指定 逆向工程配置文件
         File configFile = new File("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);

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


第五步:运行生成程序代码

第六步:刷新即可。项目会自动生成一些包和Java代码。


注意:只需修改数据库连接信息和数据库表即可。改成和你数据库的信息一样,表名一样。