如何使用mybatis-generator自动生成代码

 更新时间:2019年10月18日 09:20:31   作者:lcl-mm  
这篇文章主要介绍了如何使用mybatis-generator自动生成代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了如何使用mybatis-generator自动生成代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

<plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.2</version>
        <configuration>
          <!-- mybatis-generator的配置文件,根据情况调整位置 -->
          <configurationFile>src/main/resources/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、在resources目录下创建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>
  <!--指定特定数据库的jdbc驱动jar包的位置(绝对路径)-->
  <classPathEntry location="D:\apache-maven-Newcore\repository-lcldemo\mysql\mysql-connector-java\8.0.17\mysql-connector-java-8.0.17.jar"/>

  <context id="default" targetRuntime="MyBatis3">
    <property name="javaFileEncoding" value="UTF-8"/>
    <!-- optional,旨在创建class时,对注释进行控制 -->
    <commentGenerator>
      <property name="suppressDate" value="true"/>
      <property name="addRemarkComments" value="true"/>
      <property name="suppressAllComments" value="false"/>
    </commentGenerator>

    <!--jdbc的数据库连接:驱动类、链接地址、用户名、密码-->
    <jdbcConnection
        driverClass="com.mysql.cj.jdbc.Driver"
        connectionURL="jdbc:mysql://127.0.0.1:3306/test" userId="root"
        password="123456">
      <property name="nullCatalogMeansCurrent" value="true"/>
    </jdbcConnection>


    <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
    <javaTypeResolver>
      <property name="forceBigDecimals" value="false"/>
    </javaTypeResolver>


    <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类
      targetPackage   指定生成的model生成所在的包名
      targetProject   指定在该项目下所在的路径
    -->
    <javaModelGenerator targetPackage="com.example.demo.entity"
              targetProject="../lclWorkSpace/src/main/java">

      <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
      <property name="enableSubPackages" value="false"/>
      <!-- 是否对model添加 构造函数 -->
      <property name="constructorBased" value="false"/>
      <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
      <property name="trimStrings" value="true"/>
      <!-- 建立的Model对象是否 不可改变 即生成的Model对象不会有 setter方法,只有构造方法 -->
      <property name="immutable" value="false"/>
    </javaModelGenerator>

    <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
    <sqlMapGenerator targetPackage="mapper" targetProject="../lclWorkSpace/src/main/resources">
      <property name="enableSubPackages" value="true"/>
    </sqlMapGenerator>
    <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
        type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
        type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
        type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
    -->
    <javaClientGenerator targetPackage="com.example.demo.mapper"
               targetProject="../lclWorkSpace/src/main/java" type="XMLMAPPER">
      <property name="enableSubPackages" value="true"/>
    </javaClientGenerator>

    <!-- 数据表进行生成操作 tableName:表名; domainObjectName:对应的DO -->
    <table tableName="merchant_base_info" domainObjectName="MerchantInfo"/>

  </context>
</generatorConfiguration>

3、测试

双击运行下图中右侧的Maven Projects中的mybatis-generator:generate插件,运行后,可以看到左侧项目结构上新增了红色标注的文件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 使用socket进行服务端与客户端传文件的方法

    使用socket进行服务端与客户端传文件的方法

    这篇文章主要介绍了使用socket进行服务端与客户端传文件的方法,需要的朋友可以参考下
    2017-08-08
  • java中判断对象类型的3种方法举例

    java中判断对象类型的3种方法举例

    在Java这种强类型语言中类型转换、类型判断是经常遇到的,下面这篇文章主要给大家介绍了关于java中判断对象类型的3种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • 解决spring boot2集成activiti6踩过的坑

    解决spring boot2集成activiti6踩过的坑

    这篇文章主要介绍了解决spring boot2集成activiti6踩过的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • SpringBoot集成Beetl后统一处理页面异常的方法

    SpringBoot集成Beetl后统一处理页面异常的方法

    这篇文章主要介绍了SpringBoot集成Beetl后统一处理页面异常的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 一文搞懂Java正则表达式的使用

    一文搞懂Java正则表达式的使用

    正则表达式,又称规则表达式,是一种文本模式。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。本文将通过示例为大家详细说说Java正则表达式的使用,感兴趣的可以了解一下
    2022-08-08
  • SpringBoot集成Neo4j的详细教程

    SpringBoot集成Neo4j的详细教程

    Spring Boot 提供了对 Neo4j 的良好支持,使得开发者可以更方便地使用图数据库,通过使用 Spring Data Neo4j,开发者可以轻松地进行数据访问、操作以及管理,本文将详细介绍如何在 Spring Boot 应用中集成 Neo4j,需要的朋友可以参考下
    2024-11-11
  • Spring注解驱动之关于@Bean注解指定初始化和销毁的方法

    Spring注解驱动之关于@Bean注解指定初始化和销毁的方法

    这篇文章主要介绍了Spring注解驱动之关于@Bean注解指定初始化和销毁的方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • java安全编码指南之:Mutability可变性详解

    java安全编码指南之:Mutability可变性详解

    这篇文章主要介绍了java安全编码指南之:Mutability可变性详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • JMeter 实现Java请求步骤及原理详解

    JMeter 实现Java请求步骤及原理详解

    这篇文章主要介绍了JMeter 实现Java请求步骤及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Spring Boot结成MyBatis-Plus最全配置指南

    Spring Boot结成MyBatis-Plus最全配置指南

    本文主要介绍了Spring Boot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper 扫描、基本CRUD操作等,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03

最新评论