zoukankan      html  css  js  c++  java
  • 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:javaProjectpratice_projectspringBootGeneratorsrcmainjava"></javaModelGenerator>
            <!-- 生成sql映射文件 -->
            <sqlMapGenerator targetPackage="com.mapper"
                targetProject="E:javaProjectpratice_projectspringBootGeneratorsrcmain
    esources"></sqlMapGenerator>
            <!-- 生成mapper接口 -->
            <javaClientGenerator targetPackage="mapper"
                targetProject="E:javaProjectpratice_projectspringBootGeneratorsrcmainjava" 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

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

  • 相关阅读:
    the error about “no such file or directory”
    Unable to Distribute in Xcode5?
    第一次连接数据库mongodb踩的坑
    在Mac下安装mongodb
    sudo brew install mongodb报错
    nodemon 热更新
    npm install 之前做的事
    JS事件委托应用场景
    解决CDN传统方法引入Iview icon 不显示问题
    React 入门
  • 原文地址:https://www.cnblogs.com/newbest/p/10848763.html
Copyright © 2011-2022 走看看