详解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日

相关文章

  • java内部类的最详细详解

    Java内部类的最详细详解 什么是Java内部类 在Java中,内部类是一个定义在其他类中的类,这个类可以访问其外部类的所有成员和方法。Java中内部类的分类有四种:成员内部类、局部内部类、匿名内部类和静态内部类。 成员内部类 成员内部类是定义在类的内部,且与类的成员变量和方法处于同一等级的类。成员内部类可以访问外部类的所有成员变量和方法,包括私有成员。成员…

    Java 2023年5月26日
    00
  • web项目WEB-INF下没有web.xml的解决方法

    当我们创建Web项目时,确保在Web项目的WEB-INF文件夹下存在一个名为web.xml的配置文件。但是,有些情况会导致Web项目中缺少web.xml文件,例如从其他人手中继承项目或者项目出现异常导致web.xml被删除。在这种情况下,我们需要找到一种方法来解决这个问题。 下面是解决Web项目WEB-INF文件夹下不存在web.xml文件的方法,示例说明:…

    Java 2023年6月16日
    00
  • java对数组进行排序的方法

    以下是Java对数组进行排序的方法的完整攻略。 1. Java中的排序方法 Java提供了一系列快速且易用的排序方法,可用于对数组进行排序: Arrays.sort(int[] arr): 对整形数组进行快速排序; Arrays.sort(char[] arr): 对字符数组进行快速排序; Arrays.sort(double[] arr): 对双精度浮点型…

    Java 2023年5月20日
    00
  • extjs 学习笔记 四 带分页的grid

    下面是针对“EXTJS 学习笔记 四 —— 带分页的 Grid”这篇文章的详细攻略。 1. 文章概览 该篇文章主要是介绍如何使用 EXTJS 构建具有分页功能的 Grid 表格。其中,主要介绍以下内容: 引入必要的资源文件 创建分页工具栏 构建 Grid 表格 设置 Grid 表格分页参数 2. 引入必要的资源文件 在使用 EXTJS 构建 Grid 表格时…

    Java 2023年6月16日
    00
  • Java学习的捷径

    Java学习的捷径攻略 Java是一门大而全的编程语言,想要学好它需要付出大量的时间和精力。但是,有些捷径可以帮助你在短时间内快速学好Java,本文将详细讲解Java学习的捷径攻略。 1. 阅读优秀的Java代码 阅读优秀的Java代码是学习Java的捷径之一。通过阅读其他程序员的代码,可以帮助你更好地了解Java编程语言的语法和结构以及常用的Java编程技…

    Java 2023年5月19日
    00
  • java语言中封装类代码示例

    封装是Java中的一种特性,它将数据和方法作为一个整体封装在一个类中,从而实现了对象的封装和保护。在Java中,我们可以使用封装类来完成一些复杂数据类型的封装。下面是Java语言中封装类的代码示例攻略: 1. 创建封装类 创建一个封装类的关键在于定义一个类,并在类中定义私有变量和公有方法。私有变量可以通过公有方法来获取或修改。以下是一个简单的封装类示例: p…

    Java 2023年5月23日
    00
  • RedisTemplate访问Redis的更好方法

    让我来详细讲解RedisTemplate访问Redis的更好方法的完整攻略。 RedisTemplate介绍 RedisTemplate是一个封装了Jedis库的Spring框架的Redis操作工具类,使用它可以更方便、更快速、更安全地对Redis进行读写。 如何使用RedisTemplate 使用RedisTemplate操作Redis,需要先创建一个Re…

    Java 2023年5月20日
    00
  • javascript创建createXmlHttpRequest对象示例代码

    创建 XMLHttpRequest 对象是AJAX的基础 在使用 AJAX 技术时,我们需要创建一个 XMLHttpRequest 对象,它是AJAX的基础,可以用来与服务器通信并更新网页内容,下面是示例代码: var xmlhttp; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } …

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