专栏首页万能青年的 Java 编程简单使用 Mybatis Generator

简单使用 Mybatis Generator

1、相关文档

官方文档:

http://www.mybatis.org/generator/

所在 github :

https://github.com/mybatis/generator

maven 依赖地址:

https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core

2、添加依赖 jar 包

在 maven 中 获取依赖,并添加到 pom.xml 文件中。

包依赖:

<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.7</version>
</dependency>

3、数据库设计

以我数据库为例

4、创建mgb.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="DB2Tables" targetRuntime="MyBatis3">

        <!--去掉注释-->
        <commentGenerator>
            <property name="suppressAllComments" value="true"></property>
        </commentGenerator>   

        <!--配置数据库信息-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mybatis?useSSL=false"
                        userId="root"
                        password="root">
        </jdbcConnection>

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

        <!--指定java pojo 生成的位置-->
        <javaModelGenerator targetPackage="com.ssm.pojo" targetProject="./src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!--指定mapper文件生成位置-->
        <sqlMapGenerator targetPackage="com.ssm.mapper"  targetProject="./src/main/resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!--指定mapper接口位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.ssm.mapper"  targetProject="./src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!--指定生成表的策略-->
        <table tableName="tbl_emp" domainObjectName="Employee" ></table>
        <table tableName="tbl_dept" domainObjectName="Department"></table>

    </context>
</generatorConfiguration>

5、通过测试来创建相应的实体类以及mapper文件和接口

ublic class MBGTest {
    @Test
    public void test() throws InterruptedException, SQLException, IOException, XMLParserException, InvalidConfigurationException {
        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);
    }
}

6、自动创建的实体类、mapper.xml文件、mapper接口

本文分享自微信公众号 - JavaArtisan(gh_f521f5243781),作者:万能青年

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JVM虚拟机垃圾回收机制

    HotSpot JVM把新生区分为三部分:1个Eden区和2个Survivor区,默认内存大小比例为8 : 1 : 1,一般情况下,新创建的对象都会被分配到Ed...

    万能青年
  • Java IO

    java中涉及到的io流基本都是从以上四个抽象基类派生出来的,其子类都是以其父类的名字做后缀。

    万能青年
  • JUC 多线程 CAS 算法

    解释:一个线程在使用atomicInteger原子变量进行修改值的操作中,底层的CAS算法会拿自己工作空间的值去和主内存空间的值去比较,如果主内存值和期望数值5...

    万能青年
  • 移植uIP开源协议栈需注意的几点

    随着物联网的发展,越来越多的设备需要加入联网的功能,Uip是专为嵌入式设计的轻型开源TCP/IP协议栈,很小的代码尺寸,因为嵌入式控制器资源的限制,所以不是全功...

    用户1605515
  • C语言这么厉害,它自身又是用什么语言写的?

    换个角度来问,其实是:C语言在运行之前,得编译才行,那C语言的编译器从哪里来? 用什么语言来写的?如果是用C语言本身来写的,到底是先有蛋还是先有鸡?

    诸葛青云
  • tf.slice

    这个操作从begin指定的位置开始,从张量输入中提取一个大小为size的切片。切片大小用张量形状表示,其中size[i]是要切片的输入的第i维的元素个数。切片的...

    于小勇
  • 学习C语言编译器的选择

    来源:C语言网 很多初学C语言的同学可能遇到的首要问题,就是选择编译器,用什么编程软件? 然而通过了解之后发现有那么多编程软件,什么VC6.0,Dev ,Cod...

    编程范 源代码公司
  • 数据结构和算法——选择排序

    选择排序的工作方式是:维护已排序的子列表,从主列表中找到最小的项,然后将其交换到子列表的最后一个元素,直到对所有项进行排序为止。

    Lemon黄
  • 学习C语言编译器的选择

    很多初学C语言的同学可能遇到的首要问题,就是选择编译器,用什么编程软件? 然而通过了解之后发现有那么多编程软件,什么VC6.0,Dev ,CodeBlocks,...

    编程范 源代码公司
  • 听说你熟悉Flink-On-Yarn的部署模式?

    Flink提供了两种在yarn上运行的模式,分别为Session-Cluster和Per-Job-Cluster模式,本文分析两种模式及启动流程。

    王知无

扫码关注云+社区

领取腾讯云代金券