提供的插件
随着MyBatis生成器(MBG)的使用量的增加,我们发现越来越有用以通过插件增加功能,而不是添加到基本代码发生器的复杂性。插件是一个模块化的,易于理解的机制,继承MBG。有关编写一个插件的更多信息,请参阅实现插件 。有关配置插件的信息,请参阅<plugin>
所提供的插件都在org.mybatis.generator.plugins
包。所提供的插件展示不同类型的可以完成与MBG插件任务。插件的源代码可以和MBG一起下载,也可以在线浏览这里 。
org.mybatis.generator.plugins.CachePlugin
这个插件在生成的SQL映射中增加了一个<cache>元素。这个插件仅用于MyBatis3目标运行时环境。
这个插件接受下列属性。都是可选的,并且,如果指定,则值将被直接传递到相应的属性生成的<cache>元素。
- cache_eviction
- cache_flushInterval
- cache_readOnly
- cache_size
- cache_type
所有属性都可以通过指定<table>元素的属性来覆盖。
org.mybatis.generator.plugins.CaseInsensitiveLikePlugin
该插件给Example类添加方法(实际上是给Criteria内部类)来支持不区分大小写的LIKE搜索。这表明通过插件给Example类添加功能,而不是扩展这个类。
org.mybatis.generator.plugins.EqualsHashCodePlugin
这个插件给由MBG生成的Java模型对象增加了equals
和hashCode
方法。
通过这个类生成的equals
方法,在大多数情况下是正确的,但如果您已经指定了rootClass可能是不正确的 - 因为我们的equals方法只检查它知道的字段。
org.mybatis.generator.plugins.MapperConfigPlugin
这个插件生成包含对MBG所生成的XML映射文件的框架MapperConfig.xml文件。此文件可用于配置的MyBatis 3.X环境。
这个插件接受三个属性:
fileName
??(可选的)生成的文件的名称。如果没有指定,默认为“MapperConfig.xml”。
targetPackage
(必须的)生成文件放置的包名。指定像“com.mycompany.sql”这样的值。
targetProject
(必须的)该文件应放置在的项目名称。
注: targetPackage
和targetProject
遵循sqlMapGenerator配置元素上targetPackage
和targetProject
的相同的规则。
org.mybatis.generator.plugins.RenameExampleClassPlugin
这个插件通过重命名由MBG生成的Example类的方法演示initialized
方法的用法。
这个插件接受两个属性:
searchString
(必须的),用于搜索默认生成的Example的名称的正则表达式。
replaceString
(必须的)插在匹配searchString
位置的字符串。
例如,从xxxExample重命名生成的例子类xxxCriteria,指定实例美元searchString
和标准replaceString
org.mybatis.generator.plugins.RowBoundsPlugin
这个插件将添加一个新版本selectByExample
方法接受RowBounds
参数。这支持的MyBatis RowBounds函数,其中一个返回的结果列表可以在长度受到限制,并且开始位置可以被指定。这可以是在分页应用中是有用的。
这个插件仅适用于MyBatis3目标运行时环境。
org.mybatis.generator.plugins.SerializablePlugin
这个插件给由MBG生成的Javas添加了java.io.Serializable
标记接口。这个插件给实体类增加了serialVersionUID
字段。
重要提示:这是一个简单的实现java.io.Serializable并且不会尝试做任何版本的类。
这个插件接受两个属性:
addGWTInterface
(可选的)True/False.。如果为true,插件将给实体对象增加谷歌Web工具包(GWT)的 IsSerializable
接口。默认值是false。
suppressJavaInterface
(必须的)True/False。如果为true,插件将不添加java.io.Serializable
接口。这是对于其中对象应该是可序列化的GWT,但不是严格意义上的Java的场景。默认值是false。
org.mybatis.generator.plugins.SqlMapConfigPlugin
这个插件生成包含对MBG所产生的SqlMap.xml文件的SqlMapConfig.xml框架文件。此文件可用于配置的iBATIS 2.x的环境。
这个插件接受三个属性:
fileName
??(可选的)所产生的文件的名称。如果没有指定,默认值是“SqlMapConfig.xml”。
targetPackage
(必须的)放置该文件的包名。指定像“com.mycompany.sql”这样的值。
targetProject(
必须的)放置该文件的项目的名称。
注: targetPackage
和targetProject
遵循和sqlMapGenerator配置元素上的targetPackage
和targetProject
相同的规则。
org.mybatis.generator.plugins.ToStringPlugin
该插件给实体类添加toString()
方法。
org.mybatis.generator.plugins.VirtualPrimaryKeyPlugin
这个插件可用于指定作为主键的列,即使它们没有在数据库中被定义为主键列。这是在数据库表没有定义主的情况下非常有用。通常情况下,如果没有主键,MBG将产生一组非常有限的方法。这个插件可以用来启用生成的完整的MBG方法。
要使用该插件,添加属性“virtualKeyColumns”到您的<table>配置,设置值为应被视做主键的用逗号或空格分隔的列名列表。列名必须和数据库(通常全部大写)返回的列名完全匹配。例如:
<table tableName="foo">
<property name="virtualKeyColumns" value="ID1, ID2" />
</table>