MyBatis Generator(MBG)项目入门

Posted dearYou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis Generator(MBG)项目入门相关的知识,希望对你有一定的参考价值。

读者指南

我写作MBG系列博客目的:

1、关注一个开源项目

2、定制MBG代码生成

有相同兴趣的朋友可以浏览下这里的博客,有不足之处还请多多指教。

 

1、MBG介绍

Mybatis Generator项目用来根据mysql数据表生成javva或kotlin代码。项目代码在GitHub上开源。
 

2、下载MBG代码

地址 https://github.com/mybatis/generator
 

3、导入代码

MBG使用maven管理项目,直接用idea打开generator/core目录即可。
 

4、使用MBG生成mapper和java文件

如下图所示,添加xml配置和测试代码文件。直接运行测试代码即可。
 
xml配置如下,注意修改targetProject和targetPackage
<?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="lib/mysql-connector-java-5.1.18.jar"/>

    <context id="MySQLTables" targetRuntime="MyBatis3">

        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="false"/>
        </commentGenerator>

        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/kspage" userId="root"
                        password="123">
        </jdbcConnection>

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

        <!-- 生成模型的包名和位置 -->
        <javaModelGenerator targetPackage="com.test"
                            targetProject="/Users/kyh/testmbg">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- 生成映射文件的包名和位置 -->
        <sqlMapGenerator targetPackage="com.test.mapper"
                         targetProject="/Users/kyh/testmbg">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!-- 生成DAO的包名和位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.test" targetProject="/Users/kyh/testmbg">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!-- 配置生成表 -->
        <table tableName="apps" enableCountByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               enableUpdateByExample="false">
            <property name="modelOnly" value="false"/>
        </table>

    </context>

</generatorConfiguration>
View Code

 

 
测试代码内容如下
package org.mybatis.generator;

import org.mybatis.generator.api.ShellRunner;

/**
 * Description
 * <p>
 * </p>
 * DATE 2020-05-06.
 *
 * @author ====.
 */
public class MyTest {

    public static void main(String[] args) {
        String config = MyTest.class.getClassLoader().getResource("generatorConfig.xml").getFile();
        String[] arg = {"-configfile", config, "-overwrite"};
        ShellRunner.main(arg);
    }
}
View Code

 

运行代码后生成的内容如下:

 

 

 
 

以上是关于MyBatis Generator(MBG)项目入门的主要内容,如果未能解决你的问题,请参考以下文章

JAVA入门[7]-Mybatis generator(MBG)自动生成mybatis代码

13.3.2 完整的MBG配置文件(MyBatis Generator逆向代码生成工具) -《SSM深入解析与项目实战》

13.3.2 完整的MBG配置文件(MyBatis Generator逆向代码生成工具) -《SSM深入解析与项目实战》

13.3.3 MBG其他配置(MyBatis Generator逆向代码生成工具) -《SSM深入解析与项目实战》

13.3.3 MBG其他配置(MyBatis Generator逆向代码生成工具) -《SSM深入解析与项目实战》

Java框架-MyBatis三剑客之MyBatis Generator(mybatis-generator MBG插件)详解