springboot使用mybatis-generator自动生成dao及mapper文件

一、在pom文件中添加mybatis-generator插件

<build>
<plugins>
<plugin>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-maven-plugin</artifactId>
      <version>1.3.5</version>
      <configuration>
        <configurationFile>${basedir}/src/main/resources/mybatis/generatorConfig.xml
        </configurationFile>
        <overwrite>true</overwrite>
        <verbose>true</verbose>
      </configuration>
    </plugin>

  </plugins>
</build>

二、新建generatorConfig.xml文件

在resource-mybatis目录下新建generatorConfig.xml文件

这个文件注意把以下路径调整成你自己的

1、链接数据库的驱动,这个我看看能不能上传到附件上,如果上传不上,留言我单独发给你

2、数据库链接参数改成你自己的

3、实体类、映射文件、DAO文件都改成你的路径

4、tableName改成你自己的表名

<?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>
  <!--  <properties resource="mybatis-generator/generator.properties"/>-->
  <!--    连接数据库jar包的路径-->
  <classPathEntry location="/Users/lxx/jmeterfrom/apache-jmeter-2.9/lib/mysql-connector-java-5.1.10-bin.jar"/>
  <context id="DB2Tables"  targetRuntime="MyBatis3">
    <commentGenerator>
      <property name="suppressDate" value="true"/>
      <!-- 是否去除自动生成的注释 true:是 : false:否 -->
      <property name="suppressAllComments" value="true"/>
    </commentGenerator>

    <!--数据库连接参数 -->
    <jdbcConnection
      driverClass="com.mysql.jdbc.Driver"
      connectionURL="jdbc:mysql://mysql-xyz.local:3306/ec_test?serverTimezone=UTC"
      userId="xxxx"
      password="yyyy">
    </jdbcConnection>

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

    <!-- 实体类的包名和存放路径 -->
    <javaModelGenerator targetPackage="com.example.demo.entity" targetProject="src/main/java">
      <property name="enableSubPackages" value="true"/>
      <property name="trimStrings" value="true"/>
    </javaModelGenerator>

    <!-- 生成映射文件*.xml的位置-->
    <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
      <property name="enableSubPackages" value="true"/>
    </sqlMapGenerator>

    <!-- 生成DAO的包名和位置 -->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.dao" targetProject="src/main/java">
      <property name="enableSubPackages" value="true"/>
    </javaClientGenerator>

    <!-- tableName:数据库中的表名或视图名;domainObjectName:生成的实体类的类名-->
    <table tableName="product" domainObjectName="Product"
      enableCountByExample="false"
      enableUpdateByExample="false"
      enableDeleteByExample="false"
      enableSelectByExample="false"
      selectByExampleQueryId="false"/>

    <table tableName="test_case" domainObjectName="TestCase"
      enableCountByExample="false"
      enableUpdateByExample="false"
      enableDeleteByExample="false"
      enableSelectByExample="false"
      selectByExampleQueryId="false"/>

    <table tableName="trade_info" domainObjectName="TradeInfo"
      enableCountByExample="false"
      enableUpdateByExample="false"
      enableDeleteByExample="false"
      enableSelectByExample="false"
      selectByExampleQueryId="false"/>

    <table tableName="step_info" domainObjectName="StepInfo"
      enableCountByExample="false"
      enableUpdateByExample="false"
      enableDeleteByExample="false"
      enableSelectByExample="false"
      selectByExampleQueryId="false"/>

    
  </context>
</generatorConfiguration>

三、运行

配置好后双击插件就可以了

四、检查一下他生成的文件是否正常,例如我第一次生成的mapper.xml文件里面数据库多出来很多字段,导致单测时候总报错。

五、单测。

我们把实体类(即与表对应的实体类)加这个注释

import lombok.Data;

@Data

把dao的mapper接口文件添加这个注释

import org.springframework.stereotype.Repository;

@Repository

service层文件加这个注释

@Component

运行test,运行test不详细写了,主要了解一下怎么自动生成实体类文件


版权声明:本文为giiiig原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。