MyBatis Generator(MBG)提供的插件

提供的插件

随着MyBatis Generator(MBG)的使用日益增长,我们发现通过插件增加功能越来越有用,而不是增加基础代码生成器的复杂性。 插件是一种模块化且易于理解的用于扩展MBG的机制。 有关编写插件的更多信息,请参阅实现插件。 有关配置插件的信息,请参阅<plugin> 提供的插件都在包org.mybatis.generator.plugins中。 提供的插件展示了可以使用MBG插件完成的不同类型的任务。 插件的源代码可用于MBG下载,也可以在这里查看. org.mybatis.generator.plugins.CachePlugin

此插件将<cache>元素添加到生成的SQL映射。 此插件仅适用于MyBatis3定向运行时。 此插件接受以下属性。 所有都是可选的,如果指定,这些值将直接传递给生成的<cache>元素上的相应属性。 cache_eviction cache_flushInterval cache_readOnly CACHE_SIZE cache_type 可以通过在<table>元素上指定属性来覆盖任何属性。 org.mybatis.generator.plugins.CaseInsensitiveLikePlugin

该插件向Example类(实际上是Criteria内部类)添加了方法来支持不区分大小写的LIKE搜索。 这表明通过插件向示例类添加功能,而不是扩展类。 org.mybatis.generator.plugins.EqualsHashCodePlugin

此插件将equals和hashCode方法添加到MBG生成的Java模型对象中。 默认情况下,equals和hashCode方法检查该类知道的唯一字段。 此插件接受一个属性: useEqualsHashCodeFromRoot(可选)如果您已经指定了根类,则可以使用此属性为根类的检查字段调用super equals和hashCode方法。 对于具有继承关系的表,它可能是有用的。 org.mybatis.generator.plugins.FluentBuilderMethodsPlugin

此插件为生成的模型类添加流畅的构建器方法。 例: 给定域类MyDomainClass 用setter方法setFoo(String foo) 用setter-method setBar(Integer bar) 该插件将创建附加的方法: public MyDomainClass withFoo(String foo) public MyDomainClass withBar(Integer bar) 此插件不接受任何属性。 使用此插件,您可以使用链接方法调用流畅地配置属性值。 示例:new MyDomain().withFoo(“Test”)。withBar(4711); org.mybatis.generator.plugins.MapperConfigPlugin

此插件生成一个骨架MapperConfig.xml文件,其中包含对由MBG生成的XML映射程序文件的引用。 此文件可用于配置MyBatis 3.x环境。 此插件接受三个属性: fileName(可选)生成的文件的名称。 如果未指定,则默认为“MapperConfig.xml”。 targetPackage(必需)应放置文件的包的名称。 指定为“com.mycompany.sql”。 targetProject(必需)要放置文件的项目的名称。 注意:targetPackage和targetProject遵循与sqlMapGenerator配置元素上的targetPackage和targetProject值相同的规则。 org.mybatis.generator.plugins.RenameExampleClassPlugin

此插件通过重命名由MBG生成的生成的示例类来演示初始化方法的用法。 此插件接受两个属性: searchString(必需)用于搜索示例类的默认生成名称的正则表达式。 replaceString(必需)要在searchString匹配上插入的字符串。 例如,要将生成的示例类从xxxExample重命名为xxxCriteria,请为searchString指定Example $,并为replaceString指定Criteria。 org.mybatis.generator.plugins.RowBoundsPlugin

此插件将添加一个新版本的接受RowBounds参数的selectByExample方法。 这支持MyBatis RowBounds函数,其中返回的结果列表的长度可以被限制,并且可以指定起始位置。 这在分页应用程序中很有用。 此插件仅适用于MyBatis3目标运行时。 org.mybatis.generator.plugins.SerializablePlugin

此插件将标记接口java.io.Serializable添加到由MBG生成的Java模型对象。 该插件还将serialVersionUID字段添加到模型类。 重要提示:这是java.io.Serializable的简单实现,不会尝试对类进行任何版本控制。 此插件接受两个属性: addGWTInterface(可选)True / False。 如果是,该插件将添加Google Web Toolkit(GWT)IsSerializable接口到模型对象。 默认值为false。 suppressJavaInterface(required)True / False。 如果为true,插件将不会添加java.io.Serializable接口。 这是针对这样的情况,其中对象应该可以串行化为GWT,但不是在严格的Java意义上。 默认值为false。 org.mybatis.generator.plugins.ToStringPlugin

此插件将toString()方法添加到生成的模型类。 此插件接受一个属性: useToStringFromRoot(可选)如果已经指定了根类,可以使用此属性为根类的打印字段调用super toString方法。 对于具有继承关系的表,它可能是有用的。 org.mybatis.generator.plugins.VirtualPrimaryKeyPlugin

该插件可用于指定充当主键的列,即使它们未定义为数据库中的主键。 这在数据库表没有主定义的情况下很有用。 通常,如果没有主键,MBG将生成非常有限的一组方法。 该插件可用于启用MBG方法的完整补充。 要使用该插件,请将属性“virtualKeyColumns”添加到您的<table>配置中,并将该值设置为逗号或空格分隔的列名称,这些列名称应被视为主键。 列名称必须与从数据库返回的列名称(通常是所有UPPERCASE)完全匹配。 例如:

  <table tableName="foo">
    <property name="virtualKeyColumns" value="ID1, ID2" />
  </table>

原文: Supplied Plugins

相关阅读:

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

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

MyBatis Generator XML 配置文件参考

运行 MyBatis Generator 后的任务

运行MyBatis Generator

MyBatis Generator中的新功能

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

从源码构建

扩展MyBatis生成器

实现插件

日志信息

设计哲学与致歉


MyBatis GeneratorMBG)是一个自动生成MyBatis框架代码的工具。MBG通过读取数据库表结构信息,生成基本的Mapper、Model和Example代码。 在使用MBG时,可以通过配置文件指定生成的代码的格式、包名、注释等信息。MBG支持通过插件扩展生成的代码的功能,例如自动生成分页查询代码、生成基于XML的批量操作代码等。 以下是MBG配置文件中的插件配置示例: ``` <generatorConfiguration> <!-- 插件配置 --> <context id="mysql" targetRuntime="MyBatis3"> <plugin type="org.mybatis.generator.plugins.SerializablePlugin" /> <plugin type="org.mybatis.generator.plugins.RowBoundsPlugin" /> <plugin type="org.mybatis.generator.plugins.PaginationPlugin"> <property name="pageLimit" value="10" /> </plugin> <plugin type="org.mybatis.generator.plugins.BatchInsertPlugin" /> <plugin type="org.mybatis.generator.plugins.BatchUpdatePlugin" /> <plugin type="org.mybatis.generator.plugins.BatchDeletePlugin" /> <!-- 其他配置 --> </context> </generatorConfiguration> ``` 上述配置中,配置了如下插件: - SerializablePlugin:自动生成Serializable接口实现类,用于支持缓存等特性。 - RowBoundsPlugin:自动生成基于RowBounds的分页查询接口方法。 - PaginationPlugin:自动生成基于MySQL的分页查询接口方法,并设置每页显示条数为10。 - BatchInsertPlugin:自动生成批量插入数据的接口方法。 - BatchUpdatePlugin:自动生成批量更新数据的接口方法。 - BatchDeletePlugin:自动生成批量删除数据的接口方法。 通过配置插件,可以快速生成常用的代码,提高开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值