springBoot配置Mybatis-generator(踩坑记三)

springBoot配置Mybatis-generator
在后端开发中,写sql语句是非常繁琐而且容易出错的的事情,特别是当数据库中的表数据项比较多时。此时使用sql语句自动生成器就非常不错。
以下是我在springBoot工程中配置mybatis-generator的过程,写下来供自己以后回顾和新手参考。

  1. pom.xml中加入插件(注:加入这个插件之前这个工程也是可以使用mybatis的,具体配置过程可参考网上其他教程)
  <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                    <configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
                </configuration>
            </plugin>

2.application.yml

mybatis:
  type-aliases-package: com.tg.parkmana.domain
  mapper-locations: classpath:mybatis/*.xml

3、加入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>
    <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
    <classPathEntry  location="C:\Users\user\IDEA-workspace\cloud-mysql-connector-java-5.1.7-bin.jar"/>
    <context  id="MysqlTables"  targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释true:是: false:否 -->
            <property name = "suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库链接URL,用户名、密码-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                          connectionURL="jdbc:mysql://10.16.1.82:3306/tg_parking"
                          userId="root"
                          password="tgjf_haolepay_admin">
        </jdbcConnection>
        <!--非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetPackage="com.tg.parkmana.domain" targetProject="src/main/java">
            <!--是否让schema作为包的后缀-->
            <property name="enableSubPackages" value="true"/>
            <!--从数据库返回的值被清理前后的空格-->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- 生成映射文件的包名和位置-->
        <sqlMapGenerator targetPackage="com.tg.parkmana.dao" targetProject="src/main/java">
             <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>
          <!-- 生成myBatis对应接口位置-->
        <javaClientGenerator type ="XMLMAPPER" targetPackage="com.tg.parkmana.dao" targetProject="src/main/java">
                 <property name="enableSubPackages" value="true "/>
        </javaClientGenerator>
        <!-- 要生成的表tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
       <table schema="tg_parking" tableName = "tg_park_user_info"
              domainObjectName="User">
           <ignoreColumn column="created_date"  delimitedColumnName="true" />
           <ignoreColumn column="updated_date"  delimitedColumnName="true" />
      </table>
    </context>
</generatorConfiguration>

我的代码结构如下图
这里写图片描述
此时在EditConfiguration中选择maven,如下图配置
这里写图片描述
配置完成后点击运行这个generator.
会在domain中生成相应的类,每运行一次generator,会生成两个类,一个是自己配置,一个是相应的example类,可以通过配置使其不生成example类,但是因为我需要做灵活的多条件查询等,所以默认生成了example类。在dao文件中生成mapper的接口文件和xml文件。因为springboot不能扫描不在resource中的xml文件(好像是这个原因,也可能不是,欢迎指正,不欢迎乱喷),所以需要将mapper.xml文件如上面的工程结构图中那样移到resources文件夹下。
此时,就可以使用自动生成的mapper接口的example类了。

猜你喜欢

转载自blog.csdn.net/macynia/article/details/82625127