MyBatis Generator(MBG)实现插件

简介: 实现插件插件可用于修改或添加到MyBatis Generator生成的对象。插件必须实现接口org.mybatis.generator.api.Plugin。插件接口包含许多在代码生成过程的不同阶段调用的方法。

实现插件

插件可用于修改或添加到MyBatis Generator生成的对象。插件必须实现接口org.mybatis.generator.api.Plugin。插件接口包含许多在代码生成过程的不同阶段调用的方法。对于任何特定的插件,通常不需要实现整个接口。因此,大多数插件都应该扩展适配器类org.mybatis.generator.api.PluginAdapter。适配器类提供基本的插件支持,并为大多数接口方法(类似于Swing适配器类)实现无操作方法。MyBatis Generator提供了几个插件(都在包org.mybatis.generator.plugins中)。提供的插件演示了可以使用插件完成的不同类型的任务。插件的源代码随下载提供,也可以在线查看。插件生命周期

插件具有生命周期。在代码生成过程的初始化过程中创建插件,并按顺序调用进程的不同阶段。以下列表显示了插件的基本生命周期:通过默认构造函数创建的插件setContext方法调用setProperties方法调用验证方法调用。如果此方法返回false,那么插件中没有其他方法将被调用对于配置中的每个表:初始化方法调用Java客户端方法:1,2clientXXXMethodGenerated(Method,TopLevelClass,IntrospectedTable) - 这些方法被调用,因为生成了Java客户端实现类的每个方法。clientXXXMethodGenerated(Method,Interface,IntrospectedTable) - 这些方法被调用,因为生成了每个Java客户端接口的方法。clientGenerated(Interface,TopLevelClass,IntrospectedTable)方法调用模型方法:1modelFieldGenerated,modelGetterMethodGenerated,modelSetterMethod为类中的每个字段生成modelExampleClassGenerated(TopLevelClass,IntrospectedTable)modelPrimaryKeyClassGenerated(TopLevelClass,IntrospectedTable)modelBaseRecordClassGenerated(TopLevelClass,IntrospectedTable)modelRecordWithBLOBsClassGenerated(TopLevelClass,IntrospectedTable)SQL Map方法:1sqlMapXXXElementGenerated(XmlElement,IntrospectedTable) - 这些方法被调用,因为SQL映射的每个元素都被生成sqlMapDocumentGenerated(Document,IntrospectedTable)sqlMapDocument(GeneratedXmlFile,IntrospectedTable)contextGenerateAdditionalJavaFiles(IntrospectedTable)方法调用contextGenerateAdditionalXmlFiles(IntrospectedTable)方法调用contextGenerateAdditionalJavaFiles()方法调用contextGenerateAdditionalXmlFiles()方法调用提示:1 - 这些方法将被封装的代码生成器调用。如果您提供自定义代码生成器,则只有在自定义代码生成器调用它们时才会调用这些方法。2 - Java客户端方法只会被调用是一个Java客户端生成器被配置。编写插件

实现插件的最佳方式是扩展org.mybatis.generator.api.PluginAdapter类,并仅覆盖插件中需要的特定方法。插件接口中的方法可用于修改默认生成的代码,或添加其他生成的代码。使用插件可以完成的事情的例子有:将自定义注释添加到生成的方法向生成的类添加其他方法向生成的XML文件添加其他元素生成其他Java文件生成其他XML文件将始终调用contextXXX方法。其他方法由打包的代码生成器调用,只有当表的规则将导致生成特定元素时。例如,如果表没有主键,则不会调用modelPrimaryKeyClassGenerated(TopLevelClass,IntrospectedTable)方法。返回布尔值的方法可用于绕过代码生成。如果这些方法中的任何一个返回false,那么相关项将不会添加到生成的代码中。如果配置了多个插件,则从方法返回false的第一个插件将导致MyBatis Generator在所有其他插件中停止调用该方法。如果您有一个插件的想法,请随时在用户列表中提出有关问题。我们来帮忙!
原文:Implementing Plugins

相关阅读:

MyBatis Generator (MBG) 代码生成器简介

MyBatis Generator 代码生成器 快速入门指南

MyBatis Generator XML 配置文件参考

运行 MyBatis Generator 后的任务

运行MyBatis Generator

MyBatis Generator中的新功能

SSM框架——使用 MyBatis Generator 生成代码,包括:Model、Dao、Mapping

从源码构建

扩展MyBatis生成器

日志信息

提供的插件

设计哲学与致歉


目录
打赏
0
0
0
0
1393
分享
相关文章
|
2月前
|
十二、MyBatis分页插件
十二、MyBatis分页插件
97 17
8、Mybatis-Plus 分页插件、自定义分页
这篇文章介绍了Mybatis-Plus的分页功能,包括如何配置分页插件、使用Mybatis-Plus提供的Page对象进行分页查询,以及如何在XML中自定义分页SQL。文章通过具体的代码示例和测试结果,展示了分页插件的使用和自定义分页的方法。
8、Mybatis-Plus 分页插件、自定义分页
深入 MyBatis-Plus 插件:解锁高级数据库功能
Mybatis-Plus 提供了丰富的插件机制,这些插件可以帮助开发者更方便地扩展 Mybatis 的功能,提升开发效率、优化性能和实现一些常用的功能。
796 26
深入 MyBatis-Plus 插件:解锁高级数据库功能
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
277 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
解决mybatis-plus 拦截器不生效--分页插件不生效
本文介绍了在使用 Mybatis-Plus 进行分页查询时遇到的问题及解决方法。依赖包包括 `mybatis-plus-boot-starter`、`mybatis-plus-extension` 等,并给出了正确的分页配置和代码示例。当分页功能失效时,需将 Mybatis-Plus 版本改为 3.5.5 并正确配置拦截器。
2276 6
解决mybatis-plus 拦截器不生效--分页插件不生效
springboot整合mybatis-plus及mybatis-plus分页插件的使用
这篇文章介绍了如何在Spring Boot项目中整合MyBatis-Plus及其分页插件,包括依赖引入、配置文件编写、SQL表创建、Mapper层、Service层、Controller层的创建,以及分页插件的使用和数据展示HTML页面的编写。
springboot整合mybatis-plus及mybatis-plus分页插件的使用
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
37 0
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
140 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等