美文网首页MyBatis+SpringMVC+SpringBootSpringBoot精选
Mybatis学习笔记---Mybatis逆向工程

Mybatis学习笔记---Mybatis逆向工程

作者: renault_photo | 来源:发表于2017-08-23 16:12 被阅读47次

持久层框架都有自己逆向生成持久层代码的工具,项目为了快速完成就尝试一下用工具直接生成持久层代码,记录一下。

一、下载逆向工程代码

逆向工程代码地址

二、根据工具代码生成mybatis代码

1、解压文件

解压后目录

进入 lib 目录,看见有src目录和一些jar包以及generatorConfig.xml

lib目录文件

2、新建JAVA工程mybatis-generator

New java project

3、完善Java工程

jar包以及generatorConfig.xml直接拷贝到工程根目录下(ps: jar包需要bulid path),然后在src下新建GeneratorSql.java,内容如下:


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 GeneratorSql {
    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) {
        try {
            GeneratorSql generatorSqlmap = new GeneratorSql();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
工程目录结构

4、编辑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>  
    <classPathEntry  location="mysql-connector-java-5.1.30.jar"/>  
    <context id="DB2Tables"  targetRuntime="MyBatis3">  
        <commentGenerator>  
         <!-- 是否去除自动生成的注释  ture:是   false:否 -->
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>  
        </commentGenerator>  
        <!-- 数据库连接的信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/hrms_db" userId="root" password="123456">  
        </jdbcConnection>  
        <!-- 默认false,把JDBC DECIMAL和NUMERIC类型解析为Integer,为true时解析为java.math.BigDecimal -->
       <javaTypeResolver>  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>
        
         <!-- targetProject:生成pojo类的位置 -->
        <javaModelGenerator targetPackage="com.renault.demo.entity" targetProject="src">  
           <!-- enableSubPackages:是否让schame作为包的后缀 -->
            <property name="enableSubPackages" value="true"/>
             <!-- 从数据库返回的值被清理前后的空格 -->  
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>
        
        <!-- targetProject:mapper映射成文件的位置 -->
        <sqlMapGenerator targetPackage="com.renault.demo.mapper" targetProject="src">  
            <!-- enableSubPackages:是否让schame作为包的后缀 -->
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator>
        
        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.renault.demo.dao" targetProject="src">  
            <!-- enableSubPackages:是否让schame作为包的后缀 -->
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>
        
        <!-- 指定数据库表 -->
         <table tableName="admin_tb" domainObjectName="AdminTb" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" ></table>

   </context>  
</generatorConfiguration>  

5、数据库

image.png

6、运行GeneratorSql.java,刷新工程

生成的代码

7、拷贝文件至你的项目,直接用就行

相关文章

网友评论

    本文标题:Mybatis学习笔记---Mybatis逆向工程

    本文链接:https://www.haomeiwen.com/subject/hopddxtx.html