Mybatis-generator代码生成工具使用

Mybatis-generator代码生成工具

工欲善其事必先利其器,我们在写接口的时候会写实体类Entity或者Bean(属性,get、set方法),持久层接口xxxDao,映射文件xxxmapper.xml。这些简单重复的工作可以使用插件自动生成。

mybatis-generator能做什么?

能够生成po类(persistant object 持久对象,可以看成是与数据库中的表相映射的java对象),能生成mapper映射文件(其中包括基本的增删改查功能)、能生成mapper接口。

步骤1:修改pom.xml,添加mybatis-generator-maven-plugin插件

<!-- MyBatis-generator 插件反向生成类-->
<plugin>
  <groupId>org.mybatis.generator</groupId>
  <artifactId>mybatis-generator-maven-plugin</artifactId>
  <version>1.3.2</version>
  <configuration>
    <!--配置文件的位置-->
  <configurationFile>src/test/resources/generator/generatorConfig.xml</configurationFile>
    <verbose>true</verbose>
    <overwrite>true</overwrite>
  </configuration>
  <executions>
    <execution>
      <id>Generate MyBatis Artifacts</id>
      <goals>
        <goal>generate</goal>
      </goals>
    </execution>
  </executions>
  <dependencies>
    <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.2</version>
    </dependency>
  </dependencies>
</plugin>

步骤2:配置生成代码的配置文件generatorConfig.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 这里选择自己本地位置-->
    <!--<classPathEntry location="C:\Users\RM\.m2\repository\mysql\mysql-connector-java\5.1.41\mysql-connector-java-5.1.41.jar"/>-->
    <classPathEntry location="C:\Users\li\.m2\repository\mysql\mysql-connector-java\5.1.40\mysql-connector-java-5.1.40.jar"/>
    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <!--<jdbcConnection driverClass="com.mysql.jdbc.Driver"-->
                        <!--connectionURL="jdbc:mysql://rm-uf64lx5lrp12tme622o.mysql.rds.aliyuncs.com:3306/health" userId="weiduyiliao"-->
                        <!--password="_Weidu_Administor#com">-->
        <!--</jdbcConnection>-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
        connectionURL="jdbc:mysql://rm-uf64lx5lrp12tme622o.mysql.rds.aliyuncs.com:3306/health?useUnicode=true" userId="weiduyiliao"
        password="wdyl*#Mlj">
        </jdbcConnection>
        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
 
        NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
 
        <javaModelGenerator targetPackage="mapper.weidu.bean"
                            targetProject="src/test/java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置
           如果maven工程只是单独的一个工程,targetProject="test/main/java"
           若果maven工程是分模块的工程,targetProject="所属模块的名称",例如:
           targetProject="ecps-manager-mapper",下同-->
        <sqlMapGenerator targetPackage="mapper.weidu.mapper"
                         targetProject="src/test/java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="mapper.weidu.dao"
                             targetProject="src/test/java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 指定数据库表,根据指定的数据库表自动生成bean实体类、dao接口、mapper.xml文件 -->
        <table tableName="common_organization" domainObjectName="OrgBean" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
        <table tableName="common_examnationlnrjktj" domainObjectName="JktjBean" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
        <table tableName="JY_SIGN" domainObjectName="JySignBean" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
        <table tableName="WD_MB_DIABE_FOL" domainObjectName="MbDiabeFolBean" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
       </context>
</generatorConfiguration>

步骤3:执行插件生成代码

如果使用的是Intellij IDEA,推荐添加一个mybatis-generator的执行配置。
和添加tomcat类似,进入配置弹窗,点击+好,填入名称,选择目录,输入命令 mybatis-generator:generate -e ,点击OK。

在这里插入图片描述

所有生成的代码全部放在测试类,避免影响程序。

在这里插入图片描述

把生成的代码复制到正确的位置,并修改代码中的路径(容易出错遗漏)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值