MybatisGenerator生成项目的使用

记录是为了更好的成长!

网络上通过mybatis的逆向工程方式有好几种,比如插件、mvn命令,在应用过程中,感觉不是很方便,

下面使用配置文件和代码执行生成:

1、引入jar包

     <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.4</version>
        </dependency>
        <!-- mybatis-generator-core 反向生成java代码-->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>

 2、配置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="context1">
        <!-- 自动序列化 -->
          <plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
          
          <!-- 自动toString -->
          <plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
        
        <commentGenerator>
            <!-- 指定生成的java文件的编码,没有直接生成到项目时中文可能会乱码 -->
            <property name="javaFileEncoding" value="UTF-8"/>
            
              <property name="suppressAllComments" value="true" />
              
              <!-- 解决逆向工程中属性名与表的字段不一致的问题 -->
            <property name="useActualColumnNames" value="true"/>
        </commentGenerator>

        <!-- 数据连接的信息 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
            connectionURL="jdbc:mysql://127.0.0.1:3306/demo?characterEncoding=utf-8"
            userId="root" password="root" />
        <!-- 生成实体类,这里要使用绝对路径,相对路径执行不会报错,但是也没有生成代码 -->
        <javaModelGenerator targetPackage="com.entity"
            targetProject="E:\javaProject\pratice_project\springBootGenerator\src\main\java"></javaModelGenerator>
        <!-- 生成sql映射文件 -->
        <sqlMapGenerator targetPackage="com.mapper"
            targetProject="E:\javaProject\pratice_project\springBootGenerator\src\main\resources"></sqlMapGenerator>
        <!-- 生成mapper接口 -->
        <javaClientGenerator targetPackage="mapper"
            targetProject="E:\javaProject\pratice_project\springBootGenerator\src\main\java" type="XMLMAPPER" />
        <!-- 根据url中指向的库中的某个或多个数据表,而决定以上生成的对象 -->
        
        <!-- tableName="%" 可以生成所有      并且可以模糊 -->
        <table tableName="%">
            
        </table>
    </context>
</generatorConfiguration>

 3、java文件

package com;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
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.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

public class GenMain {
 
    public static void main(String[] args) {
         List<String> warnings = new ArrayList<String>();  
            boolean overwrite = true;  
            String genCfg = "generatorConfig.xml";  
            File configFile = new File(GenMain.class.getClassLoader().getResource(genCfg).getFile());  
            ConfigurationParser cp = new ConfigurationParser(warnings);  
            Configuration config = null;  
            try {  
                config = cp.parseConfiguration(configFile);  
            } catch (IOException e) {  
                e.printStackTrace();  
            } catch (XMLParserException e) {  
                e.printStackTrace();  
            }  
            DefaultShellCallback callback = new DefaultShellCallback(overwrite);  
            MyBatisGenerator myBatisGenerator = null;  
            try {  
                myBatisGenerator = new MyBatisGenerator(config, callback, warnings);  
            } catch (InvalidConfigurationException e) {  
                e.printStackTrace();  
            }  
            try {  
                myBatisGenerator.generate(null);  
            } catch (SQLException e) {  
                e.printStackTrace();  
            } catch (IOException e) {  
                e.printStackTrace();  
            } catch (InterruptedException e) {  
                e.printStackTrace();  
            }  
    }
}

执行完毕刷新项目就可以了!

可以参考下面这个完整的项目示例:

 https://github.com/kh5218/DemoForSpringBoot/tree/master/springBootGenerator

以上内容代表个人观点,仅供参考,不喜勿喷。。。

猜你喜欢

转载自www.cnblogs.com/newbest/p/10848763.html
今日推荐