MyBatis Generator(MBG)是MyBatis MyBatis和iBATIS的代码生成器。它将生成所有版本的MyBatis的代码,以及版本2.2.0之后的iBATIS版本。它将内省数据库表(或许多表),并将生成可用于访问表的工件。这减少了设置对象和配置文件以与数据库表进行交互的最初麻烦。MBG旨在对简单的CRUD(创建,检索,更新,删除)的大量数据库操作产生重大影响。您仍然需要为连接查询或存储过程手动编写SQL和对象。
MyBatis Generator将生成:匹配表结构的Java POJO。这可能包括:一个类匹配表的主键(如果有一个主键)一个类匹配表的非主键字段(BLOB字段除外)一个包含表的BLOB字段的类(如果表有BLOB字段)一个启用动态选择,更新和删除的类
这些类之间有一个继承关系。请注意,生成器可能被配置为生成不同类型的POJO层次结构 - 例如,如果您愿意,您可以选择为每个表生成单个域对象。MyBatis / iBATIS兼容的SQL Map XML文件。MBG为配置中的每个表生成简单CRUD函数的SQL。生成的SQL语句包括:
插入按主键更新通过示例更新(使用dynamic where子句)按主键删除通过示例删除(使用dynamic where子句)按主键选择选择示例(使用动态where子句)按例子根据表的结构,这些语句有不同的变体(例如,如果表没有主键,则MBG将不会通过主键功能生成更新)。
适合使用上述对象的Java客户端类。Java客户端类的生成是可选的。MBG将为MyBatis 3.x生成以下类型的Java客户端:与MyBatis 3.x映射程序基础架构配合使用的映射器界面MBG将为iBATIS 2.x生成以下类型的Java客户端:符合Spring框架的DAO只使用iBATIS SQL映射API的DAO。这些DAO可以生成两种:通过构造函数或 setter 注入来提供 SqlMapClient。符合 iBATIS DAO框架的 DAO(iBATIS的可选部分,此框架现已被弃用,我们建议您使用Spring框架)
MyBatis生成器被设计为在迭代开发环境中运行良好,并且可以作为 Ant 任务或 Maven 插件包含在连续构建环境中。运行MBG迭代的重要事项包括:如果存在与新生成的XML文件名称相同的现有文件,MBG将自动合并XML文件。MBG不会覆盖您对其生成的XML文件所做的任何自定义更改。您可以一遍又一遍地运行它,而不用担心会丢失对XML的自定义更改。MBG将替换之前运行中生成的任何XML元素。MBG不会合并Java文件,它可以覆盖现有文件,也可以使用不同的唯一名称保存新生成的文件。如果您对生成的Java文件进行了更改,并且迭代地运行MBG,则必须手动合并更改。当作为Eclipse插件运行时,MBG可以自动合并Java文件。
在 Eclipse 使用
当作为Eclipse功能运行时,生成器还可以合并Java文件,并将用户修改保存到生成的Java文件中。生成器使用Eclipse Java解析器和AST walker完成此操作。Eclipse功能还具有一些用户界面增强功能,使生成器更容易运行。最后,Eclipse功能为Eclipse帮助系统提供了生成器的完整用户手册。Eclipse功能可以在Eclipse市场上找到: https://marketplace.eclipse.org/content/mybatis-generator
依赖
MBG没有超出JRE的依赖性。需要JRE 6.0或以上版本。另外,需要一个实现DatabaseMetaData接口的JDBC驱动程序,尤其是getColumns和getPrimaryKeys方法。
支持
通过MyBatis用户邮件列表提供对MyBatis Generator的支持。您可以在此处通过Google代码订阅或查看邮寄名单:http://groups.google.com/group/mybatis-user
如果您认为您已经发现了一个错误,请先在用户列表上先询问一个问题,然后再创建新的票证。如果您发现错误或有新功能请求,您可以在GitHub这里打开一个新问题:https://github.com/mybatis/generator/issues
原文:Introduction to MyBatis Generator
相关阅读: