详解MyBatis逆向工程

详解MyBatis逆向工程攻略

MyBatis逆向工程可以快速生成Java实体类、映射文件以及Mapper接口,省去手写代码的繁琐过程。以下是详解MyBatis逆向工程的完整攻略。

步骤一:准备工作

  1. 项目中需要添加 mybatis-generator-core 依赖。

xml
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.0</version>
</dependency>

  1. 在项目的根目录下添加 generatorConfig.xml 配置文件。

  2. 在配置文件中进行数据源配置和代码生成的相关配置。

```xml




       <!--代码生成器-->
       <javaModelGenerator targetPackage="com.example.domain" targetProject="src/main/java">
           <property name="enableSubPackages" value="true"/>
           <property name="trimStrings" value="true"/>
       </javaModelGenerator>

       <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
           <property name="enableSubPackages" value="true"/>
       </sqlMapGenerator>

       <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java">
           <property name="enableSubPackages" value="true"/>
       </javaClientGenerator>

       <!--表定义-->
       <table tableName="user"/>
       <table tableName="role"/>
   </context>


```

步骤二:生成代码

  1. 在 Maven 项目中运行以下命令生成代码。

bash
mvn mybatis-generator:generate

  1. 代码生成的结果。在代码生成结束后,会在 Java 源码目录以及资源目录下生成与数据表对应的 Java 实体类、MyBatis 映射文件以及 Mapper 接口。

```
src/main/java/com/example/domain/User.java
src/main/java/com/example/domain/Role.java

src/main/resources/mapper/UserMapper.xml
src/main/resources/mapper/RoleMapper.xml

src/main/java/com/example/mapper/UserMapper.java
src/main/java/com/example/mapper/RoleMapper.java
```

示例一:生成User实体类、对应的MyBatis映射文件和Mapper接口

generatorConfig.xml表定义

<generatorConfiguration>
    <!--数据源配置-->
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password="root">
        </jdbcConnection>

        <!--代码生成器-->
        <javaModelGenerator targetPackage="com.example.domain" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!--表定义-->
        <table tableName="user"/>
    </context>
</generatorConfiguration>

运行 mvn mybatis-generator:generate ,生成的代码如下:

src/main/java/com/example/domain/User.java
src/main/resources/mapper/UserMapper.xml
src/main/java/com/example/mapper/UserMapper.java

示例二:生成Role实体类、对应的MyBatis映射文件和Mapper接口

generatorConfig.xml 表定义

<generatorConfiguration>
    <!--数据源配置-->
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password="root">
        </jdbcConnection>

        <!--代码生成器-->
        <javaModelGenerator targetPackage="com.example.domain" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!--表定义-->
        <table tableName="role"/>
    </context>
</generatorConfiguration>

运行 mvn mybatis-generator:generate,生成的代码如下:

src/main/java/com/example/domain/Role.java
src/main/resources/mapper/RoleMapper.xml
src/main/java/com/example/mapper/RoleMapper.java

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解MyBatis逆向工程 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • java8学习教程之lambda表达式的使用方法

    Java 8 学习教程之Lambda表达式的使用方法 Lambda表达式是什么? Lambda表达式是Java 8中的一个新特性,它允许我们以一种更简洁的方式来定义匿名内部类。通过使用Lambda表达式,我们可以在一行代码中定义函数接口的实现,并且可以直接将Lambda表达式传递给接口方法。 Lambda表达式的语法 Lambda表达式的语法非常简单,它有以…

    Java 2023年5月26日
    00
  • jsp中使用javabean实例介绍

    下面是使用JavaBean实例在JSP中的介绍和示例。 什么是JavaBean JavaBean是Java平台的一种基本组件,是一种Java类,具有以下特征: 类是公共的的(即public class)。 有一个无参数的构造函数(即默认构造函数)。 类的属性(即数据成员)被私有化(即private)。 通过 getter/setter 方法来访问这些属性,属…

    Java 2023年6月15日
    00
  • echarts整合多个类似option的方法实例

    下面我将为您详细讲解“echarts整合多个类似option的方法实例”的完整攻略,主要分为以下几步进行。 1. 确认需求 在开始实现之前,我们首先需要确认我们的需求是什么。假设我们需要实现一个折线图,我们希望可以通过选择不同的时间段,动态的显示不同的数据,例如按天、按周、按月等显示数据。 2. 构建数据 为了实现我们的需求,我们需要构建一个数据对象,来保存…

    Java 2023年6月15日
    00
  • 详解java之redis篇(spring-data-redis整合)

    下面是详细讲解“详解java之redis篇(spring-data-redis整合)”的完整攻略。 概述 本篇文章主要介绍了如何在Java中使用Redis缓存,以及使用Spring Data Redis整合Redis。在文章中,会介绍到Redis的基础概念、安装和配置Redis环境、使用Redis缓存数据、以及使用Spring Data Redis实现缓存的…

    Java 2023年5月20日
    00
  • 详解SpringBoot 处理异常的几种常见姿势

    详解SpringBoot处理异常的几种常见姿势 在SpringBoot开发中,异常处理是一个非常重要的环节。合理的异常处理能够提高系统的稳定性和可维护性。本文将介绍几种常见的SpringBoot处理异常的姿势。 1. @ControllerAdvice和@ExceptionHandler @ControllerAdvice是Spring4.0引入的一个注解,…

    Java 2023年5月15日
    00
  • Java核心教程之常见时间日期的处理方法

    Java核心教程之常见时间日期的处理方法 介绍 在Java编程中,处理时间与日期是常见的任务。Java提供了多种处理时间与日期的方式,本文将介绍常见的时间与日期的处理方法及其实现。 Date类 Java中最基础的日期类型是Date类。Date类表示的是从Java纪元以来的毫秒数,可以用来描述一个时间点。Date类提供了很多方法,如getYear()、getM…

    Java 2023年5月20日
    00
  • JpaRepository如何实现增删改查并进行单元测试

    JpaRepository是Spring Data JPA中的一个接口,该接口为开发人员提供了一种简单的方式来实现增删改查等常见操作。下面是JpaRepository如何实现增删改查并进行单元测试的完整攻略。 1. 增加数据 JpaRepository提供了一个save()方法来保存一个实体对象。该方法可以用于添加数据。以下是示例代码: @Service p…

    Java 2023年5月20日
    00
  • 你应该知道的这些Mybatis-Plus使用技巧(小结)

    你应该知道的这些Mybatis-Plus使用技巧(小结) Mybatis-Plus是一个Mybatis的增强工具,拓展了Mybatis的功能,使得开发者在编写数据库CRUD操作时更加方便和快捷。本文将介绍一些Mybatis-Plus的使用技巧。 1. 自动生成代码 Mybatis-Plus提供了一种快速生成Mapper、实体类、Service、Service…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部