MyBatis生成器(MBG)是MyBatis MyBatis的一个代码生成器。它将为所有版本的MyBatis生成代码。它将内省一个数据库表(或多个表),并生成可用于访问表的工件。这减少了设置对象和配置文件以与数据库表交互的初始麻烦。MBG试图对大部分简单的CRUD(创建、检索、更新、删除)数据库操作产生重大影响。您仍然需要为join查询或存储过程手工编写SQL和对象代码。
MBG以不同的风格为不同的语言生成代码,这取决于它是如何配置的。例如,MBG可以生成Java或Kotlin代码。而且MBG可以生成兼容MyBatis3的XML——尽管这现在被认为是MBG的遗留用法。新生成的代码样式不需要XML。
根据MyBatis Generator的配置,它可以生成:
一、匹配表结构的Java或Kotlin类。这可能包括:
这些类之间存在一种适当的继承关系。注意,可以将生成器配置为生成不同类型的POJO层次结构——例如,如果需要,可以选择为每个表生成单个域对象。
二、在某些情况下,MBG将生成MyBatis3兼容的SQL Map XML文件。MBG为配置中的每个表上的简单CRUD函数生成SQL。生成的SQL语句包括:
根据表的结构,这些语句有不同的变体(例如,如果表没有主键,那么MBG将不会通过主键函数生成更新)。
三、适当使用上述对象的Java或Kotlin客户端类、接口和Kotlin扩展方法。客户端类的生成是可选的。MBG将生成一个与MyBatis 3.x一起工作的mapper接口。
MyBatis生成器设计为在迭代开发环境中良好运行,可以作为Ant任务或Maven插件包含在持续构建环境中。在迭代运行MBG时需要注意的重要事项包括:
当作为Eclipse特性运行时,生成器还可以合并Java文件并将用户修改保存到生成的Java文件中。生成器使用Eclipse Java解析器和AST walker来完成此任务。Eclipse特性还对用户界面进行了一些增强,使生成器更容易运行。最后,Eclipse特性为Eclipse帮助系统提供了生成器的完整用户手册。
Eclipse特性可以在Eclipse市场上找到: https://marketplace.eclipse.o... 。
除了JRE之外,MBG没有其他依赖项。要求Java 8或以上。此外,还需要实现DatabaseMetaData接口的JDBC驱动程序,特别是getColumns和getPrimaryKeys方法。
对MyBatis生成器的支持是通过MyBatis用户邮件列表提供的。你可在此透过谷歌编号订阅或浏览邮寄名单:
http://groups.google.com/grou...
如果您认为您已经发现了一个bug,请在创建新票证之前,首先在用户列表中询问有关它的问题。如果你发现了一个bug,或者有了一个新的功能请求,你可以在GitHub上打开一个新的问题:
https://github.com/mybatis/ge...