MyBatis Generator介绍

MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和iBATIS 2.2.0版本以后的代码。 他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。 这样和数据库表进行交互时不需要创建对象和配置文件。 MBG的解决了对数据库操作有最大影响的一些简单的CRUD(插入,查询,更新,删除)操作。 您仍然需要对联合查询和存储过程手写SQL和对象。

MyBatis Generator 会生成:

  • 匹配表结构的Java POJO,可能包括:

    • 一个和表主键匹配的类(如果存在主键[注:只有联合主键会有])
    • 一个包含了非主键字段的类(BLOB字段除外[注:单字段做主键时这里会包含])
    • 一个包含了BLOB字段的类 (如果表包含了BLOB字段)
    • 一个允许动态查询、更新和删除的类[注:指的是Example查询]

    这些类之间会有适当的继承关系。 请注意可以配置生成器来生成不同类型的 POJO 的层次结构。 例如,如果您愿意您可能会选择针对每个表生成一个单独的实体对象。

  • MyBatis/iBATIS 兼容 SQL 映射 XML 文件。MBG 在配置中为每个表简单的 CRUD 操作生成 SQL。 生成的 SQL 语句包括:
    • insert (插入)
    • update by primary key (根据主键更新记录)
    • update by example (根据条件更新记录)
    • delete by primary key (根据主键删除记录)
    • delete by example (根据条件删除记录)
    • select by primary key (根据主键查询记录)
    • select by example (根据条件查询记录集)
    • count by example (根据条件查询记录总数)

    根据表的结构,生成的这些语句会有不同的变化(例如,如果表中没有主键,那么 MBG 将不会生成update by primary key方法)。

  • Java客户端类会适当的使用上面的对象,生成Java客户端类时可选的。 MBG会为MyBatis 3.x生成如下客户端类:
    • 一个可以和MyBatis 3.x一起使用的mapper接口类

    MBG会为iBATIS 2.x生成如下的客户端类:

    • 符合 Spring 框架的DAO类。
    • 只使用iBATIS SQL映射API的DAO。 这种DAO可以通过下面两种方式生成:提供SqlMapClient通过构造方法或者setter注入。
    • 符合iBATIS DAO 框架的DAO (iBATIS可选的一部分,这一框架已经过时,我们建议您使用Spring框架替代)。

MyBatis generator 可以在迭代开发环境中良好的运行, 在持续的构建环境中作为一个ant任务或maven插件。 运行MBG时要记住以下重要的事:

  1. MBG 会自动合并已经存在并且和新生成的文件重名的 XML。MBG 不会覆盖您对已经生成xml所做的修改。 您可以反复的运行而不必担心失去您自定义的更改。 MBG 将取代所有以前运行中生成的 XML 元素。
  2. MBG 不会 合并 Java 文件,他可以覆盖已经存在的文件或者保存新生成的文件为一个不同的唯一的名字。 您可以手动合并这些更改。 当您使用Eclipse 插件时, MBG 可以自动合并 Java 文件.

依赖项

MBG依赖JRE,需要JRE6.0或以上版本。 此外,还有一个继承了DatabaseMetaData接口的JDBC驱动。 特别是getColumnsgetPrimaryKeys两个方法时必须的。

支持

通过Mybatis用户邮件列表提供对Mybatis generator的支持。 您可以通过谷歌订阅或查看邮件列表的代码:

http://groups.google.com/group/mybatis-user

如果您认为您找到了一个 bug,在您创建新的Issue前,请在用户列表中询问一下。 如果您发现一个 bug,或者有新的功能要求,您可以在github上打开一个新的Issue:

https://github.com/mybatis/generator/issues

译者

译者水平有限,如果您发现翻译不通顺的地方,您可以在下面的地址创建Issue:

http://git.oschina.net/free/mybatis-generator-core/issues

MyBatis Generator介绍的更多相关文章

  1. 使用mybatis generator插件,自动生成dao、dto、mapper等文件

    mybatis generator 介绍 mybatis generator中文文档http://mbg.cndocs.tk/ MyBatis Generator (MBG) 是一个Mybatis的代 ...

  2. mybatis generator自动生成 实体类, sqlmap配置文件 详细介绍

    我使用的是Eclipse Luna 装了自己常用的插件, generator也是其中一个推荐下载 MyBatis_Generator_1.3.1.zip离线安装包 <?xml version=& ...

  3. Introduction to MyBatis Generator Mybatis代码生成介绍

    Mybatis官方提供了代码生成工具,这里是官方网站: http://mybatis.github.io/generator/index.html 可以自动生成 Java POJOs, Mapper. ...

  4. Mybatis generator生成工具简单介绍

    Mybatis generator  其主要的功能就是方便,快捷的创建好Dao,entry,xml 加快了开发速度,使用方面根据其提供的规则配置好就OK 这里还有一个重要的开发场景,开发过程中,对数据 ...

  5. mybatis Generator生成代码及使用方式

    本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5889312.html 为什么要有mybatis mybatis 是一个 Java 的 ORM 框架,OR ...

  6. MyBatis Generator 详解

    MyBatis Generator中文文档 MyBatis Generator中文文档地址:http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中 ...

  7. SSM框架——使用MyBatis Generator自动创建代码

    版权声明:本文为博主原创文章,未经博主允许不得转载. 这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是 ...

  8. MyBatis Generator 详解 【转来纯为备忘】

    版权声明:版权归博主所有,转载请带上本文链接!联系方式:abel533@gmail.com   目录(?)[+] MyBatis Generator中文文档 运行MyBatis Generator X ...

  9. mybatis Generator配置文件详解

    这里按照配置的顺序对配置逐个讲解,更细的内容可以配合中文文档参照. 1. 配置文件头 <?xml version="1.0" encoding="UTF-8&quo ...

随机推荐

  1. 理解 e.clientX,e.clientY e.pageX e.pageY e.offsetX e.offsetY

    event.clientX.event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条.IE事件和标准事件都定义了这2个属性 event.pageX ...

  2. Linux系统服务之inetd

    [Linux系统服务之inetd] inetd的角色是作为Telnet和FTP等与网络服务器相关的进程的“超级服务器”.这是一个简单的道理:并不是全部的服务器进程(包括那些接受新的Telnet和FTP ...

  3. Photoshop Keynote

    [Photoshop Keynote] 1.Tab:隐藏.显示所有面板. 2.Sihft+Tab:隐藏.显示右侧面板. 3.F:全屏切换. 4.选择并遮住: 参考:http://www.51shipi ...

  4. macaca自动化测试以及配置环境问题

    macaca 测试和环境问题 标签(空格分隔): macaca自动化配置环境问题 macaca环境变量配置 基本环境需要准备的东西: JDK的安装及环境配置:(1.8) Node.js的安装及环境配置 ...

  5. Appium1.6启动iOS真机

      前提:已经安装了Appium1.6版本,我这里用的是GUI版本   环境要求: 真机iOS9.3及以上 macOS 10.11或10.12 Xcode7及以上   安装步骤如下 第一步:iOS真机 ...

  6. ss源码学习--从协议建立到完成一次代理请求

    上一次介绍了ss源码中各个事件处理函数完成的工作,这次具体分析一下协议的建立以及请求数据的传输过程. 因为ss的local和server共用一个类以及一系列的事件处理函数,所以看起来稍显复杂.下面来将 ...

  7. vm 克隆一台新机器启动网卡报错:device eth0 does not seem to be present, delaying initialization

    解决方案: 1. vi /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-eth0的配置文件里保存了以前的MAC地址,就把这一行删除掉在重启网卡   2. ...

  8. 数位dp poj1850

    题目链接:https://vjudge.net/problem/POJ-1850 这题我用的是数位dp,刚刚看了一下别人用排列组合,我脑子不行,想不出来. 在这题里面我把a看成1,其他的依次递增,如果 ...

  9. chase

    chase 英[tʃeɪs] 美[tʃes] vt. 追求; 追捕; 追寻; 镂刻; n. 追捕; 打猎; 猎物(指鸟兽等); 槽; vi. 追逐,追赶; 追寻; 追求(常与after连用); [口语 ...

  10. Unity3d游戏地图生成器MapMagic World Generator v1.9.1

    Unity3d MapMagic World Generator基于节点的程序和无限游戏地图生成器,图形上的每个节点表示地形或对象生成器:噪声,voronoi,混合,曲线,侵蚀,散射,森林等生态系统, ...