提供的插件
随着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 代码生成器 快速入门指南
SSM框架——使用 MyBatis Generator 生成代码,包括:Model、Dao、Mapping
实现插件