Mybatis-generator(MBG)

Mybatis逆向工程

  • MyBatis Generator (MBG) is a code generator for MyBatis

  • 通过它可以实现,由数据库中的表,自动生成对应的pojo类,mapper和mapper.xml文件

如何使用

非插件方法

  1. 下载mybatis-generator-core-1.x.x文件。地址:https://github.com/mybatis/generator/releases

    在这里插入图片描述

  2. 目录结构

    在这里插入图片描述

  3. 配置

    • 手动创建src文件,用来配置文件中指定生成的pojo类,mapper,mapper.xml位置

    • 手动创建generatorConfig.xml文件(核心配置文件)

      在这里插入图片描述

    • 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>
       
          <!-- 引入mysql-connector-java-5.1.30.jar位置 -->
        <classPathEntry location="E:/maven/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar" /> 
       
       
          <!-- 是否去除自动生成的注释 true:是 : false:否 -->
          <context id="DB2Tables" targetRuntime="MyBatis3">
              <commentGenerator>
                  <property name="suppressAllComments" value="true" />
              </commentGenerator>
       
              <!-- 数据库连接 -->
              <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/mbgTest" userId="root" password="root">
              </jdbcConnection>
       
              <!--      
                                   默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer    
                   true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal      
              -->
              <javaTypeResolver>
                  <property name="forceBigDecimals" value="false" />
              </javaTypeResolver>
       
                 <!--     
                  生成model模型,对应的包路径,以及文件存放路径(targetProject),targetProject可以指定具体的路径    
               也可以使用“MAVEN”来自动生成,这样生成的代码会在target/generatord-source目录下    
              --> 
              <javaModelGenerator targetPackage="com.entity" targetProject="E:\workspace\maven_test\src\main\java">
                  <property name="enableSubPackages" value="true" />
                  <!-- 从数据库返回的值被清理前后的空格  -->
                  <property name="trimStrings" value="true" />
              </javaModelGenerator>
       
              <!--对应的mapper.xml文件  -->  
              <sqlMapGenerator targetPackage="com.mapping" targetProject="E:\workspace\maven_test\src\main\java">
                  <property name="enableSubPackages" value="true" />
              </sqlMapGenerator>
       
               <!-- 对应的Mapper接口类文件 -->  
              <javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="E:\workspace\maven_test\src\main\java">
                  <property name="enableSubPackages" value="true" />
              </javaClientGenerator>
       
              <!-- 生成那些表,tableName对应数据库表,domainObjectName对应实体类名 -->
               <table tableName="test" domainObjectName="Test" enableCountByExample="true" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> 
       
          </context>
      </generatorConfiguration>
      
  4. 命令行运行(在含mybatis-generator-core-1.3.7.jar的目录下执行)

    Java -jar mybatis-generator-core-1.3.7.jar -configfile generatorConfig.xml -overwrite
    
  5. 或java代码执行

    package com.text;
     
    import java.io.*;
    import java.util.*;
    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;
    //以上import需要   mybatis-generator-core-1.3.7.jar
     
    public class Text {
     
        public static void main(String[] args) {
            try { 
                List<String> warnings = new ArrayList<String>();  
                boolean overwrite = true;  
                String genCfg = "/generatorConfig.xml";  
                File configFile = new File(Text.class.getResource(genCfg).getFile());  
                ConfigurationParser cp = new ConfigurationParser(warnings);  
                Configuration config = null;  
                config = cp.parseConfiguration(configFile);  
                DefaultShellCallback callback = new DefaultShellCallback(overwrite);  
                MyBatisGenerator  myBatisGenerator = new MyBatisGenerator(config, callback, warnings);  
     
                 myBatisGenerator.generate(null);  
     
            } catch (Exception e) {  
                    e.printStackTrace();  
                }   
     
        }
     
    }
    
    
  6. 结果

插件方法(未使用过)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值