美文网首页
idea使用mybatis generator自动生成代码(mo

idea使用mybatis generator自动生成代码(mo

作者: 韩明泽 | 来源:发表于2018-10-27 19:41 被阅读274次

    mybatis的自动生成代码,网上主要有两种方式。一种是使用idea的插件生成,另外一种则是直接在项目中集成jar或在maven中导入依赖;然后配置generatorConfig.xml文件。两种方式各有利弊吧。第一种使用起来方便,但是不能定制。第二种虽然配置起来麻烦点,但是可以根据自己的情况进行定制。最近在学习springboot的时候看到另外一种自动生成的方式。在module中配置生成。(其实也就是第二种的另类使用)

    1、在项目中创建module

    image

    2、配置module的pom.xml文件

    在配置文件中加入下面代码:

    <dependencies>
    <!--MySQL数据库-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.41</version>
        </dependency>
        <!--mapper-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>1.2.4</version>
        </dependency>
        <!-- mybatis 逆向生成工具  -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.2</version>
            <scope>compile</scope>
            <optional>true</optional>
        </dependency>
    </dependencies>
    

    3、配置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="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
            <property name="beginningDelimiter" value="`"/>
            <property name="endingDelimiter" value="`"/>
            <!--指定生成的xxxMapper文件要继承的MyMapper类的路径-->
            <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
                <property name="mappers" value="com.han.utils.MyMapper"/>
            </plugin>
            <!--连接数据库-->
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                            connectionURL="jdbc:mysql://localhost:3306/testMybatisGenerator"
                            userId="root"
                            password="root">
            </jdbcConnection>
    
            <!-- 对应生成的pojo所在包 -->
            <javaModelGenerator targetPackage="com.han.pojo"
                                targetProject="mybatis-generatorConfig/src/main/java"/>
    
            <!-- 对应生成的mapper所在目录 -->
            <sqlMapGenerator targetPackage="mapper"
                             targetProject="mybatis-generatorConfig/src/main/resources"/>
    
            <!-- 配置mapper对应的java映射 -->
            <javaClientGenerator targetPackage="com.han.mapper"
                                 targetProject="mybatis-generatorConfig/src/main/java"
                                 type="XMLMAPPER"/>
    
            <!--添加要生成的数据库对应表名-->
            <table tableName="testTable"></table>
            
        </context>
    </generatorConfiguration>
    

    4、添加执行生成的java类

    改java类主要执行自动生成代码,并且指定generatorConfig.xml文件的路径。

    我的java类命名为GeneratorDisplay.java

    package com.han.mybatis;
    
    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 GeneratorDisplay {
    
        public void generator() throws Exception {
    
            List<String> warnings = new ArrayList<String>();
            boolean overwrite = true;
            //指定逆向工程配置文件
            File configFile = new File("mybatis-generatorConfig/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) throws Exception {
            try {
                GeneratorDisplay generatorSqlmap = new GeneratorDisplay();
                generatorSqlmap.generator();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    5、添加MyMappe类

    该类要和在generatorConfig.xml中填写的路径要一致。


    image

    完整代码如下:

    package com.han.utils;
    
    import tk.mybatis.mapper.common.Mapper;
    import tk.mybatis.mapper.common.MySqlMapper;
    
    public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
        //TODO
        //FIXME 特别注意,该接口不能被扫描到,否则会出错
    }
    

    6、自动生成代码

    上面的步骤配置完之后,运行GeneratorDisplay.java就可以生成mapper文件以及pojo

    image

    完成!

    如果有时间的话,建议看一看下面的相关连接。!0z0!


    相关连接

    Spring Boot 集成 MyBatis, 分页插件 PageHelper, 通用 Mapper

    慕课网mybatis自动生成

    相关文章

      网友评论

          本文标题:idea使用mybatis generator自动生成代码(mo

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