Mybatis逆向工程运行代码实例

作者:理舞 时间:2021-06-22 04:54:59 

简单的理解,MyBatis逆向工程,就是通过相应插件,自动生成MyBatis数据库连接的一些文件。

mybatis需要编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),提高工作效率。

命令:

mvn mybatis-generator:generate

项目结构:

Mybatis逆向工程运行代码实例

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>

<context id="mysqlgenerator" targetRuntime="MyBatis3">
   <property name="autoDelimitKeywords" value="true"/>
   <!--可以使用``包括字段名,避免字段名与sql保留字冲突报错-->
   <property name="beginningDelimiter" value="`"/>
   <property name="endingDelimiter" value="`"/>

<!-- 自动生成toString方法 -->
   <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
   <!-- 自动生成equals方法和hashcode方法 -->
   <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/>

<!-- 非官方插件 https://github.com/itfsw/mybatis-generator-plugin -->
   <!-- 查询单条数据插件 -->
   <plugin type="com.itfsw.mybatis.generator.plugins.SelectOneByExamplePlugin"/>
   <!-- 查询结果选择性返回插件 -->
   <plugin type="com.itfsw.mybatis.generator.plugins.SelectSelectivePlugin"/>
   <!-- Example Criteria 增强插件 -->
   <plugin type="com.itfsw.mybatis.generator.plugins.ExampleEnhancedPlugin"/>
   <!-- 数据Model属性对应Column获取插件 -->
   <plugin type="com.itfsw.mybatis.generator.plugins.ModelColumnPlugin"/>
   <!-- 逻辑删除插件 -->
   <plugin type="com.itfsw.mybatis.generator.plugins.LogicalDeletePlugin">
     <!-- 这里配置的是全局逻辑删除列和逻辑删除值,当然在table中配置的值会覆盖该全局配置 -->
     <!-- 逻辑删除列类型只能为数字、字符串或者布尔类型,数据库中用tinyint(1) -->
     <property name="logicalDeleteColumn" value="deleted"/>
     <!-- 逻辑删除-已删除值 -->
     <property name="logicalDeleteValue" value="1"/>
     <!-- 逻辑删除-未删除值 -->
     <property name="logicalUnDeleteValue" value="0"/>
   </plugin>

<commentGenerator>
     <property name="suppressDate" value="true"/>
     <!--<property name="suppressAllComments" value="true"/>-->
   </commentGenerator>

<!--数据库连接信息-->
   <jdbcConnection driverClass="com.mysql.jdbc.Driver"
           connectionURL="jdbc:mysql://192.168.1.100:3306/theorydance?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC&amp;verifyServerCertificate=false&amp;useSSL=false"
           userId="root"
           password="123456"/>

<javaTypeResolver>
     <property name="useJSR310Types" value="true"/>
   </javaTypeResolver>

<javaModelGenerator targetPackage="demo.theorydance.db.domain" targetProject="src/main/java"/>
   <sqlMapGenerator targetPackage="demo.theorydance.db.dao" targetProject="src/main/resources"/>
   <javaClientGenerator type="XMLMAPPER" targetPackage="demo.theorydance.db.dao"
              targetProject="src/main/java"/>
   <!--表名-->
   <table tableName="student"></table>
 </context>
</generatorConfiguration>

pom.xml中添加插件


<build>
   <plugins>
     <plugin>
       <groupId>org.mybatis.generator</groupId>
       <artifactId>mybatis-generator-maven-plugin</artifactId>
       <version>1.3.7</version>
       <configuration>
         <configurationFile>
           mybatis-generator/generatorConfig.xml
         </configurationFile>
         <overwrite>true</overwrite>
         <verbose>true</verbose>
       </configuration>
       <dependencies>
         <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.46</version>
         </dependency>
         <dependency>
           <groupId>com.itfsw</groupId>
           <artifactId>mybatis-generator-plugin</artifactId>
           <version>1.2.12</version>
         </dependency>
       </dependencies>
     </plugin>

</plugins>

</build>

来源:https://www.cnblogs.com/TheoryDance/p/12536374.html

标签:mybatis,逆向,工程
0
投稿

猜你喜欢

  • java8 stream自定义分组求和并排序的实现

    2022-09-12 04:08:26
  • Java利用自定义注解实现数据校验

    2022-12-03 09:56:49
  • Android中的Looper对象详细介绍

    2023-02-26 08:33:39
  • JAVA如何调用wsdl过程详解

    2021-08-12 22:00:18
  • Spring bean对象实例化实现过程图解

    2023-01-02 07:32:13
  • C#递归应用之实现JS文件的自动引用

    2023-12-09 00:03:52
  • Android开发实现的标准体重计算器功能示例

    2023-01-19 02:56:48
  • Android项目实战手把手教你画圆形水波纹loadingview

    2023-03-15 10:13:47
  • Kotlin 创建接口或者抽象类的匿名对象实例

    2022-02-02 13:12:23
  • Android 实现九宫格抽奖功能

    2021-10-02 21:42:27
  • Android 获取屏幕的多种宽高信息的示例代码

    2021-07-10 06:07:10
  • C# 内部类与Lambda表达式用法详解

    2022-07-13 05:54:11
  • Java迭代器与Collection接口超详细讲解

    2022-07-14 05:10:49
  • C# Winform 实现控件自适应父容器大小的示例代码

    2021-06-15 20:00:52
  • java实现简单的webservice方式

    2023-11-25 03:59:58
  • springboot集成fastDfs过程代码实例

    2023-02-21 19:42:20
  • SpringBoot项目的测试类实例解析

    2021-05-29 20:35:04
  • SpringBoot应用部署于外置Tomcat容器的方法

    2021-07-19 18:36:34
  • Android Studio下Flutter环境搭建图文教程

    2023-11-06 00:08:03
  • java定义受限制的类型参数操作

    2022-12-16 09:44:03
  • asp之家 软件编程 m.aspxhome.com