MyBatis Generator 插件使用教程

MyBatis Generator 插件使用教程

mybatis-generator-pluginMybatis Generator 代码生成插件拓展,增加:查询单条数据插件(SelectOneByExamplePlugin)、MySQL分页插件(LimitPlugin)、数据Model链式构建插件(ModelBuilderPlugin)、Example Criteria 增强插件(ExampleEnhancedPlugin)、Example 目标包修改插件(ExampleTargetPlugin)、批量插入插件(BatchInsertPlugin)、逻辑删除插件(LogicalDeletePlugin)、数据Model属性对应Column获取插件(ModelColumnPlugin)、存在即更新(UpsertPlugin)、Selective选择插入更新增强插件(SelectiveEnhancedPlugin)、Table增加前缀插件(TableSuffixPlugin)、自定义注释插件(CommentPlugin)、增量插件(IncrementsPlugin)、查询结果选择性返回插件(SelectSelectivePlugin)、乐观锁插件(OptimisticLockerPlugin)、LombokPlugin等拓展。项目地址:https://gitcode.com/gh_mirrors/my/mybatis-generator-plugin

1. 项目的目录结构及介绍

MyBatis Generator 插件的目录结构如下:

mybatis-generator-plugin/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── itfsw/
│   │   │           └── mybatis/
│   │   │               └── generator/
│   │   │                   └── plugins/
│   │   │                       ├── ExampleTargetPlugin.java
│   │   │                       └── ...
│   │   └── resources/
│   │       └── mybatis-generator-config.xml
├── README.md
├── LICENSE
└── pom.xml

目录结构介绍

  • src/main/java/:包含插件的主要源代码。
    • com/itfsw/mybatis/generator/plugins/:插件的具体实现类。
  • src/main/resources/:包含配置文件。
    • mybatis-generator-config.xml:MyBatis Generator 的配置文件。
  • README.md:项目说明文档。
  • LICENSE:项目许可证。
  • pom.xml:Maven 项目配置文件。

2. 项目的启动文件介绍

MyBatis Generator 插件的启动文件主要是 ExampleTargetPlugin.java,位于 src/main/java/com/itfsw/mybatis/generator/plugins/ 目录下。

ExampleTargetPlugin.java

该文件是插件的核心实现类,主要功能是将 Example 类独立到一个新包下,方便查看和管理。

package com.itfsw.mybatis.generator.plugins;

import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.PluginAdapter;
import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
import org.mybatis.generator.api.dom.java.TopLevelClass;

import java.util.List;

public class ExampleTargetPlugin extends PluginAdapter {
    @Override
    public boolean validate(List<String> warnings) {
        return true;
    }

    @Override
    public boolean modelExampleClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
        String targetPackage = properties.getProperty("targetPackage");
        if (targetPackage != null && targetPackage.length() > 0) {
            topLevelClass.setPackageName(targetPackage);
        }
        return true;
    }
}

3. 项目的配置文件介绍

MyBatis Generator 插件的配置文件是 mybatis-generator-config.xml,位于 src/main/resources/ 目录下。

mybatis-generator-config.xml

该文件包含了 MyBatis Generator 的基本配置和插件配置。

<?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="mysql" targetRuntime="MyBatis3">
        <plugin type="com.itfsw.mybatis.generator.plugins.ExampleTargetPlugin">
            <property name="targetPackage" value="com.example.mybatis.example"/>
        </plugin>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mydb"
                        userId="root"
                        password="root">
        </jdbcConnection>

        <javaModelGenerator targetPackage="com.example.mybatis.model" targetProject="src/main/java"/>

        <sqlMapGenerator targetPackage="com.example.mybatis.mapper" targetProject="src/main/resources"/>

        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mybatis.mapper" targetProject="src/main/java"/>

        <table tableName="user" domainObjectName="User"/>
    </context>
</generatorConfiguration

mybatis-generator-pluginMybatis Generator 代码生成插件拓展,增加:查询单条数据插件(SelectOneByExamplePlugin)、MySQL分页插件(LimitPlugin)、数据Model链式构建插件(ModelBuilderPlugin)、Example Criteria 增强插件(ExampleEnhancedPlugin)、Example 目标包修改插件(ExampleTargetPlugin)、批量插入插件(BatchInsertPlugin)、逻辑删除插件(LogicalDeletePlugin)、数据Model属性对应Column获取插件(ModelColumnPlugin)、存在即更新(UpsertPlugin)、Selective选择插入更新增强插件(SelectiveEnhancedPlugin)、Table增加前缀插件(TableSuffixPlugin)、自定义注释插件(CommentPlugin)、增量插件(IncrementsPlugin)、查询结果选择性返回插件(SelectSelectivePlugin)、乐观锁插件(OptimisticLockerPlugin)、LombokPlugin等拓展。项目地址:https://gitcode.com/gh_mirrors/my/mybatis-generator-plugin

  • 14
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: MyBatis Generator插件是一个自动生成MyBatis代码的工具,它可以根据数据库表结构自动生成对应的Java实体类、Mapper接口和XML映射文件。使用该插件可以大大提高开发效率,减少手写代码的工作量。同时,该插件还支持自定义生成规则和插件扩展,可以满足不同项目的需求。 ### 回答2: MyBatis Generator插件是一个用于生成MyBatis持久层代码的工具。它通过读取数据库表结构信息,自动生成对应的实体类、Mapper接口以及XML映射文件。 该插件的核心功能是根据数据库表结构生成对应的实体类。它会根据表的字段类型和命名规则,自动创建实体类的属性和对应的getter和setter方法。这样可以大大简化实体类的编写工作,提高开发效率。 除了实体类,插件还会生成Mapper接口和XML映射文件。Mapper接口定义了数据库操作的方法,而XML映射文件提供了数据库操作的具体实现。这样,在使用MyBatis时,我们只需要编写Mapper接口的方法,而不需要手动编写SQL语句,MyBatis Generator会帮助我们自动生成。 插件还提供了一些配置选项,可以根据需要进行个性化设置。我们可以指定生成的代码的包名、文件保存路径等信息。另外,插件还支持自定义模板,可以根据需求修改生成代码的样式。 总之,MyBatis Generator插件是一个非常实用的工具,可以大大简化MyBatis代码的编写工作。它通过自动生成实体类、Mapper接口和XML映射文件,提高了开发效率,减少了出错的可能性。它的灵活配置和自定义模板功能,还可以满足开发者个性化的需求。 ### 回答3: MyBatis Generator是一个开源的代码生成工具,它可以根据数据库表结构自动生成对应的Java模型对象、Mapper接口和XML映射文件。 MyBatis Generator使用了类似于MyBatis的SQL映射语言来生成代码,用户只需编写一个名为"generatorConfig.xml"的配置文件,指定数据库连接信息、要生成代码的表信息以及代码生成的目标路径等,然后运行Generator的主类即可。 MyBatis Generator在代码生成过程中,会自动生成对应的Java POJO(Plain Old Java Object)类,该类与数据库表的字段一一对应,方便了与数据库的交互操作。同时,它也会生成Mapper接口,其中包含了常见的增删改查操作的方法,开发者可以直接调用这些方法来操作数据库。此外,MyBatis Generator还会生成XML映射文件,这个文件定义了SQL语句与Java方法的对应关系,方便了执行数据库操作。 MyBatis Generator插件的优点是节省了开发人员大量手写重复代码的时间,提高了开发效率。它还遵循了MyBatis的设计哲学,减少了代码的冗余和复杂性。另外,MyBatis Generator可以与其他代码生成插件配合使用,例如Spring Boot的Generator插件,可以进一步简化开发工作。 总结来说,MyBatis Generator插件是一个方便且高效的代码生成工具,它能够根据数据库表结构自动生成与数据库交互所需的Java模型对象、Mapper接口和XML映射文件,大大减少了开发人员的工作量,并提高了代码的可维护性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

舒莲菲Peace

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值