MyBatis Generator介绍
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时要记住以下重要的事:
- MBG 会自动合并已经存在并且和新生成的文件重名的 XML。MBG 不会覆盖您对已经生成xml所做的修改。 您可以反复的运行而不必担心失去您自定义的更改。 MBG 将取代所有以前运行中生成的 XML 元素。
- MBG 不会 合并 Java 文件,他可以覆盖已经存在的文件或者保存新生成的文件为一个不同的唯一的名字。 您可以手动合并这些更改。 当您使用Eclipse 插件时, MBG 可以自动合并 Java 文件.
依赖项
MBG依赖JRE,需要JRE6.0或以上版本。 此外,还有一个继承了DatabaseMetaData接口的JDBC驱动。 特别是getColumns和getPrimaryKeys两个方法时必须的。
支持
通过Mybatis用户邮件列表提供对Mybatis generator的支持。 您可以通过谷歌订阅或查看邮件列表的代码:
如果您认为您找到了一个 bug,在您创建新的Issue前,请在用户列表中询问一下。 如果您发现一个 bug,或者有新的功能要求,您可以在github上打开一个新的Issue:
MyBatis Generator介绍的更多相关文章
- 使用mybatis generator插件,自动生成dao、dto、mapper等文件
mybatis generator 介绍 mybatis generator中文文档http://mbg.cndocs.tk/ MyBatis Generator (MBG) 是一个Mybatis的代 ...
- mybatis generator自动生成 实体类, sqlmap配置文件 详细介绍
我使用的是Eclipse Luna 装了自己常用的插件, generator也是其中一个推荐下载 MyBatis_Generator_1.3.1.zip离线安装包 <?xml version=& ...
- Introduction to MyBatis Generator Mybatis代码生成介绍
Mybatis官方提供了代码生成工具,这里是官方网站: http://mybatis.github.io/generator/index.html 可以自动生成 Java POJOs, Mapper. ...
- Mybatis generator生成工具简单介绍
Mybatis generator 其主要的功能就是方便,快捷的创建好Dao,entry,xml 加快了开发速度,使用方面根据其提供的规则配置好就OK 这里还有一个重要的开发场景,开发过程中,对数据 ...
- mybatis Generator生成代码及使用方式
本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5889312.html 为什么要有mybatis mybatis 是一个 Java 的 ORM 框架,OR ...
- MyBatis Generator 详解
MyBatis Generator中文文档 MyBatis Generator中文文档地址:http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中 ...
- SSM框架——使用MyBatis Generator自动创建代码
版权声明:本文为博主原创文章,未经博主允许不得转载. 这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是 ...
- MyBatis Generator 详解 【转来纯为备忘】
版权声明:版权归博主所有,转载请带上本文链接!联系方式:abel533@gmail.com 目录(?)[+] MyBatis Generator中文文档 运行MyBatis Generator X ...
- mybatis Generator配置文件详解
这里按照配置的顺序对配置逐个讲解,更细的内容可以配合中文文档参照. 1. 配置文件头 <?xml version="1.0" encoding="UTF-8&quo ...
随机推荐
- 税控服务器 TC5002UpdatePackage 安装更新
Linux版税控服务器单税号版本税控应用: TC5002UpdatePackage2008160711.zip 单税号服务器(型号:TCG-01S1) Linux版税控服务器20个 ...
- apache安装配置
因为个人是在docker上面做实验的,所以可以多少会有些出入. 1.先启动一个docker,配置好基本的工具,网络啊,ssh啊是,tar啊,wget啊,vim等等. 其次去官网获取自己想要的压缩文件的 ...
- 同时启动多个Tomcat 和 Linux部署多个tomcat
a.减压2份tomcat文件 b.修改其中一个tomcat 的http访问端口(默认为8080端口,这里改为8091) c.修改其中一个tomcat 的Shutdown端口(默认为8005端口,这里改 ...
- 解决pip下载速度慢
国外的pip源下载速度过慢,可以换成国内的源,这里换成豆瓣的源. 新建一个文件vim ~/.pip/pip.conf 内容为 [global]timeout = 6000index-url= http ...
- Nginx的配置文件nginx.conf配置详解
user nginx nginx; #Nginx用户及组:用户 组.window下不指定 worker_processes 8; #工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍于CPU. ...
- 最小生成树 prime算法 UVALive - 6437
题目链接:https://vjudge.net/contest/241341#problem/D 这里有多个发电站,需要求出所有点都和发电站直接或间接相连的最小代价,那么就是求出最小生成树的问题了,有 ...
- 【mysql】主从同步,事务等概念
问题: mysql用binary log来保证主从同步的可靠性和安全性,在mysql中,主从同步是异步线程和异步任务来保证的. (在这点上,其它存储引擎有另外的选项,比如mongoDB和Elastic ...
- [Java学习]集合
一. Collection与Map继承结构图 Collection继承结构图 实现Collection接口的类只能存储引用类型!所以set.add(10)会有自动装箱的过程,把int 转成 Integ ...
- iOS 编译部署路径
<转> 在 OSX 上初次接触到这些变量, 做一个总结.在编译一个动态库比如 libfoo.dylib 的时候, 你需要指定 INSTALL_PATH. 也就是它的安装路径.一个可执行程 ...
- [leetcode]387. First Unique Character in a String第一个不重复字母
Given a string, find the first non-repeating character in it and return it's index. If it doesn't ex ...