MyBatis Generator(MBG)提供的插件

来源:互联网 发布:蜡烛图分析软件 编辑:程序博客网 时间:2024/05/19 06:16

提供的插件

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

此插件将<cache>元素添加到生成的SQL映射。此插件仅适用于MyBatis3定向运行时。此插件接受以下属性。所有都是可选的,如果指定,这些值将直接传递给生成的<cache>元素上的相应属性。cache_evictioncache_flushIntervalcache_readOnlyCACHE_SIZEcache_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生成器

实现插件

日志信息

设计哲学与致歉


原创粉丝点击