Mybatis学习 -- 逆向工程 Mybatis Generator代码生成

简述

  • mybatis-generator能够生成PO类、mapper映射文件(其中包括基本的增删改查功能)、mapper接口;
  • mybatis-generator 生成代码字段名默认按驼峰命名,如:表中字段为create_date,生成的Model中对应属性名为createDate,由于有特殊用途,现想让其生成的名称与数据库中一样,不知道如何配置。

具体操作步骤

1.新建项目,项目结构如图

在这里插入图片描述

2.在pom文件的下的添加以下配置

记住mysql连接一定添加在plugins中

      <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.5</version>
        <configuration>
          <!-- 在控制台打印执行日志 -->
          <verbose>true</verbose>
          <!-- 重复生成时会覆盖之前的文件-->
          <overwrite>true</overwrite>
          <configurationFile>src/main/resources/mybatis/generatorConfig.xml</configurationFile>
        </configuration>
        <!-- 数据库连接选择8.0以上的,因为用的mysql8.0-->
        <dependencies>
          <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
          </dependency>
        </dependencies>
      </plugin>

3.配置生成代码的配置文件generatorConfig.xml

在resources目录下创建xml文件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>
    <!--mysql 连接数据库jar 这里选择自己本地位置;
    如果不知道maven本地仓库地址,可以使用EveryThing工具全局搜索mysql-connector-java,找到jar包位置;
    也可以手动下载一个jar放在指定位置,进行引用。
    -->
    <!--<classPathEntry location="E:\.m2\repository\mysql\mysql-connector-java\5.1.38\mysql-connector-java-5.1.38.jar"/>-->

    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释,true:是,false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/demo" userId="root"
                        password="root">
        </jdbcConnection>

        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
           NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- 指定javaBean生成的位置
            targetPackage:生成的类要放的包,真实的包受enableSubPackages属性控制;
            targetProject:目标项目,指定一个存在的目录下,生成的内容会放到指定目录中,如果目录不存在,MBG不会自动建目录
         -->
        <javaModelGenerator targetPackage="com.model" targetProject="src/main/java">
            <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false;如果多个数据库改为true分目录 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--  指定mapper映射文件生成的位置
           targetPackage、targetProject同javaModelGenerator中作用一样-->
        <sqlMapGenerator targetPackage="com.dao.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!-- 指定mapper接口生成的位置
         targetPackage、targetProject同javaModelGenerator中作用一样
         -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.dao"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>

        <!-- 指定数据库表domainObjectName:生成的domain类的名字,当表名和domain类的名字有差异时一定要设置,如果不设置,直接使用表名作为domain类的名字;可以设置为somepck.domainName,那么会自动把domainName类再放到somepck包里面;
        	生成代码字段名默认按驼峰命名,如:表中字段为create_date,生成的Model中对应属性名为createDate
        -->
        <table tableName="dept" domainObjectName="Dept"></table>
        <table tableName="dept" domainObjectName="Dept2">
            <!-- 生成代码字段名命名与数据库一样 -->
            <property name="useActualColumnNames" value="true" />
        </table>
    </context>
</generatorConfiguration>

详细配置见官方文档:http://www.mybatis.org/generator/configreference/xmlconfig.html
或网上的配置详解:https://www.jianshu.com/p/e09d2370b796

4.IDEA执行插件生成代码

添加mybatis-generator的执行配置:
配置 -> 点击+号 -> 选择maven -> 填入Name -> 输入命令:mybatis-generator:generate -e -> 点击OK -> 选择mybatis-generator配置并执行
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

5.查看生成的文件

在这里插入图片描述

注: 生成Oracle数据库结构化代码时,表名、字段名都应该为大写

参考链接:

使用mybatis-generator生成Mybatis代码

IDEA使用mybatis-generator

MyBatis Generator生成代码的几种方式

MyBatis Generator 下划线转驼峰命名

oracle数据库使用mybatis generator的坑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值