天天看點

2021-08-24 mybatis逆向工程的使用方法

mybatis逆向工程的使用(代碼生成器)

這個工具會根據表生成對應的實體類和dao層的接口以及Mapper檔案

網站位址:http://mybatis.org/generator/configreference/xmlconfig.html

2021-08-24 mybatis逆向工程的使用方法
2021-08-24 mybatis逆向工程的使用方法
<?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="DB2Tables" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/xiaomi?serverTimezone=PRC&amp;useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"
                        userId="root"
                        password="123456">
        </jdbcConnection>

        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <javaModelGenerator targetPackage="com.ghf.xiaomi.entry"
                            targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="mapper"
                         targetProject=".\src\main\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.ghf.xiaomi.dao"
                             targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <table tableName="car" domainObjectName="Car"></table>
        <table tableName="comment" domainObjectName="Comment"></table>
        <table tableName="user" domainObjectName="User"></table>
        <table tableName="item" domainObjectName="Item"></table>
        <table tableName="item_category" domainObjectName="ItemCategory"></table>
        <table tableName="manage" domainObjectName="Manage"></table>
        <table tableName="message" domainObjectName="Message"></table>
        <table tableName="news" domainObjectName="News"></table>
        <table tableName="order_detail" domainObjectName="OrderDetail"></table>
        <table tableName="sc" domainObjectName="Sc"></table>
        <table tableName="item_order" domainObjectName="ItemOrder"></table>

    </context>
</generatorConfiguration>
           

修改對應的表和生成位置

然後建立一個類

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 java.io.File;

import java.util.ArrayList;
import java.util.List;

public class CodeGenerator {
    public static void main(String[] args) throws Exception {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File("generator.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);
    }
}

           

最後運作這個類就會生成對應的代碼啦

超級好用

下面是成功的運作圖

2021-08-24 mybatis逆向工程的使用方法

結果:(爆紅是因為沒有對應的依賴,後面加上即可)

2021-08-24 mybatis逆向工程的使用方法