zoukankan      html  css  js  c++  java
  • 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
    运行代码后生成的内容如下:
     
     
  • 相关阅读:
    异常之*** buffer overflow detected ***
    多媒体开发之视频回放---dm642 做rtsp 视频回放功能
    理财---炒股之kdj
    多媒体开发之rtp 打包发流--- 从h264中获取分辨率
    多媒体开发之rtsp 实现rtsp over tcp/http/udp---rtsp发送
    tomcat 简介
    tomcat 的安装
    rsync + inotify-tools实现文件的实时同步
    python 生成器
    ansible 常用模块
  • 原文地址:https://www.cnblogs.com/afraidToForget/p/12839815.html
Copyright © 2011-2022 走看看