您的足迹:首页 > 精彩文章 >MyBatis Generator的使用

MyBatis Generator的使用

1.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 文件.


2.MyBatis Generator下载

MyBatis Generator

下载完成之后,我们该做一件很重要的事情:


将该压缩包中的featuresplugins文件夹拷贝到MyEclipse的安装目录中,然后重启MyEclipse。

3.MyBatis Generator配置

3.1.选中项目右键-->new-->Other-->MyBatis-->MyBatis Generator Configuration File创建generatorConfig.xml用来生成文件


3.2.配置generatorConfig.xml

我们修改generatorConfig.xml文件中的标识位 ? 的代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration >
  <context id="context1" >
    <jdbcConnection driverClass="???" connectionURL="???" userId="???" password="???" />
    <javaModelGenerator targetPackage="???" targetProject="???" />
    <sqlMapGenerator targetPackage="???" targetProject="???" />
    <javaClientGenerator targetPackage="???" targetProject="???" type="XMLMAPPER" />
    <table schema="???" tableName="???" >
      <columnOverride column="???" property="???" />
    </table>
  </context>
</generatorConfiguration>
修改后为

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration >
  <context id="context1" >
  	<!-- 数据库链接信息  
  		driverClass:连接驱动
  		connectionURL:数据库连接信息
  		userId:用户名
  		password:密码
  	-->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost/woo0nise" userId="root" password="root" />
    <!-- 指定生成 Java 模型对象所属的包
    	targetPackage:javaBean包
    	targetProject:项目名称
     -->
    <javaModelGenerator targetPackage="com.test.entity" targetProject="S6" />
    <!-- 指定生成 SQL映射文件所属的包和的目标项目
    	targetPackage:SQL映射文件所属的包
    	targetProject:项目名称
     -->
    <sqlMapGenerator targetPackage="com.test.dao" targetProject="S6" />
     <!--生成Dao类存放位置
     	targetPackage:Dao类
     	targetProject:S6
     	type:XMLMAPPER 生成的对象是 MyBatis 3.x 映射器基础结构的 Java接口。 这些接口将会依赖于生成的XML文件。
     -->
    <javaClientGenerator targetPackage="com.test.dao" targetProject="S6" type="XMLMAPPER" />
    
    <!-- 需要映射的表
    	schema:数据库 schema - 如果您的数据库不使用 schema ,或者有一个默认的 schema 您不需要设置 schema。 如果需要,指定的值可以包含SQL通配符。 
    	tableName:表名
     -->
    <table schema="woo0nise" tableName="leaverecords" ></table>
  </context>
</generatorConfiguration>

3.3.运行generatorConfig.xml

3.3.1在运行之前该做的事情

  • 导入对应的数据库驱动包
  • 导入MyBatis驱动包

3.3.2运行generatorConfig.xml

  • 右键generatorConfig.xml文件
  • 点击Generate MyBatis/iBatis Arifacts
  • 对应的实体类,接口映射文件就已经ok了。

项目源代码下载地址:

S6.rar

还有问题的朋友请移驾:

http://www.hack-gov.com/post-104.html

本博客所有文章如无特别注明均为原创。作者:0nise复制或转载请以超链接形式注明转自 0nise's Blog ---1931sec TeAm!
原文地址《MyBatis Generator的使用

相关推荐

  • blogger

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)