您的位置:首页 > 其它

Mybatis --- 逆向工程

2020-04-19 21:52 211 查看

Mybatis — 逆向工程

* 上一篇说到Mybatis整合Spring和SpringMVCMybatis — SSM整合 * 这一篇主要来讲解Mybatis中的逆向工程 “MBG”

注:此文为在SSM框架中MBG的使用,SpringBoot中使用MBG可参考博文

SpringBoot — Mybatis Generator

了解:

MyBatis Generator:
简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口以及bean类。
支持基本的增删改查,以及QBC风格的条件查询。但是表连接、存储过程等这些复杂sql的定义需要我们手工编写。

官方文档地址:官方文档

官方工程地址:官方工程

  • MBG使用

    使用步骤:

    编写MBG的配置文件(重要几处配置)
    1)jdbcConnection配置数据库连接信息

    2)javaModelGenerator配置javaBean的生成策略

    3)sqlMapGenerator 配置sql映射文件生成策略

    4)javaClientGenerator配置Mapper接口的生成策略

    5)table 配置要逆向解析的数据表
    1. tableName:表名
    2. domainObjectName:对应的javaBean名

  • 运行代码生成器生成代码

  • 注意:

    > Context标签
    > targetRuntime=“MyBatis3“可以生成带条件的增删改查
    > targetRuntime=“MyBatis3Simple“可以生成基本的增删改查
    > 如果再次生成,建议将之前生成的数据删除,避免xml向后追加内容出现的问题。

  • 一丶MBG配置文件

    <?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>
    
    <!--
    targetRuntime="MyBatis3Simple":生成简单版的CRUD
    MyBatis3:豪华版
    -->
    <context id="DB2Tables" targetRuntime="MyBatis3">
    <!-- jdbcConnection:指定如何连接到目标数据库 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
    connectionURL="jdbc:mysql://localhost:3306/mybatis?allowMultiQueries=true"
    userId="root"
    password="123456">
    </jdbcConnection>
    
    <javaTypeResolver >
    <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>
    
    <!-- javaModelGenerator:指定javaBean的生成策略
    targetPackage="test.model":目标包名
    targetProject="\MBGTestProject\src":目标工程
    -->
    <javaModelGenerator targetPackage="cbuc.life.bean"
    targetProject=".\src">
    <property name="enableSubPackages" value="true" />
    <property name="trimStrings" value="true" />
    </javaModelGenerator>
    
    <!-- sqlMapGenerator:sql映射生成策略: -->
    <sqlMapGenerator targetPackage="cbuc.life.dao"
    targetProject=".\conf">
    <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>
    
    <!-- javaClientGenerator:指定mapper接口所在的位置 -->
    <javaClientGenerator type="XMLMAPPER" targetPackage="cbuc.life.dao"
    targetProject=".\src">
    <property name="enableSubPackages" value="true" />
    </javaClientGenerator>
    
    <!-- 指定要逆向分析哪些表:根据表要创建javaBean -->
    <table tableName="employee" domainObjectName="Employee"></table>
    <table tableName="dept" domainObjectName="Department"></table>
    </context>
    </generatorConfiguration>

    二丶生成器代码

    @Test
    public void testMbg() throws Exception {
    List<String> warnings = new ArrayList<String>();
    boolean overwrite = true;
    File configFile = new File("mbg.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);
    }

    点击运行便可在目录下看到自己所要生成的文件 :

    这里就不做演示说明 , 你们可以生成后试一下可用性

    END…

    以上便是 MyBatis Generator 的使用, 欢迎参考交流…

    • 点赞
    • 收藏
    • 分享
    • 文章举报
    蔡不菜丶 发布了72 篇原创文章 · 获赞 39 · 访问量 1万+ 私信 关注
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: