使用MyBatis Generator生成DAO

虽然MyBatis很方便,但是想要手写全部的mapper还是很累人的,好在MyBatis官方推出了自动化工具,可以根据数据库和定义好的配置直接生成DAO层及以下的全部代码,非常方便.

需要注意的是,虽然自动化工具需要一个配置文件,但是MyBatis的配置文件仍然不能少,自动化工具的配置文件用于对生成的代码的选项进行配置,MyBatis的配置文件才是运行时的主要配置文件.

这个工具叫做MyBatis_Generator,不过比较扯淡的是官方虽然推出了这个工具,不过在google code上面看到的工具仅仅是一个jar包而已,在用这个工具的时候需要在cmd下面执行命令才能根据配置文件生成所需的各种文件,下面是该jar的下载 地址:

http://mybatis.googlecode.com/files/mybatis-generator-core-1.3.1-bundle.zip

后来我仔细挖掘了Google Code上的东西,发现官方提供的也有可以直接安装到Eclipse里面的插件,唯一让人不爽的是这个插件只能安装在Eclipse3.6以上的版本,目 前大部分人用的都是3.5.2或者更低的版本,给个地址吧,想方便点的可以试试,请确认你的eclipse的版本或者Myeclipse所用的 eclipse版本是3.6以上的,否则无法安装,下面是eclipse更新地址:

http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/

下面我要说的是针对cmd下操作的方法,插件操作方法超级简单和abator(ibatis 2.X的插件)的使用方法一样.

在类路径下面建立generatorConfig.xml文件,这个文件配置各种生成选项,

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>
    <!-- 数据库驱动包 -->
    <classPathEntry location="jdbcdriver/mysql-connector-java-5.1.6.jar" />
	<context id="aisSnsTables" targetRuntime="Ibatis2Java5">
		<jdbcConnection 
			driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://10.20.144.15:3306/Incorrupt?useUnicode=true" 
			userId="root" 
			password="111111">
		</jdbcConnection>

		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>
		
		<!-- 生成vo对象 -->
		<javaModelGenerator targetPackage="com.alibaba.webx.tutorial1.app1.vo"
			targetProject="../src/main/java">
			<property name="enableSubPackages" value="false" />
			<property name="trimStrings" value="false" />
		</javaModelGenerator>
		
		<!-- 生成用于查询的Example对象 -->
		<sqlMapGenerator targetPackage="database/sqlmap/map" targetProject="../src/main/resources">
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>

		<!-- 生成DAO的类文件以及配置文件 -->
		<javaClientGenerator type="SPRING"
			targetPackage="com.alibaba.webx.tutorial1.app1.dao"
			implementationPackage="com.alibaba.webx.tutorial1.app1.dao.impl"
			targetProject="../src/main/java">
			<property name="enableSubPackages" value="false" />
		</javaClientGenerator>

		<!-- 想要生成的数据库表,自动化工具会根据该表的结构生成相应的vo对象 -->
		<table tableName="t_user" domainObjectName="User"></table>
	</context>

</generatorConfiguration>

  

需要注意的是上面的targetProject此处应写成文件路径的形式,而不是项目路径,指定类文件生成到src的org.qiuqiu.vo包下面,如果是用插件的话targetProject直接写项目名称即可,比如直接写MyBatis_Generator.

上面我仅仅简单的写了些注释,稍后我会将详细的配置选项以附件的形式发上来

然后就开始要生成文件了,打开cmd,进入项目路径的lib下面,也就是含有mybatis-generator-core-1.3.1.jar文件的目录中,执行以下命令:

Cmd
  1. java -jar mybatis-generator-core-1.3.1.jar -configfile ../src/generatorConfig.xml -overwrite

OK了,刷新一遍目录,可以看到vo,dao,xml全都自动生成了.

附件中有一个示例项目已经含有了所需要的全部包,

另一个附件是配置选项的官方说明文档

再奉上一个MyBatis的官方eclipse插件,可以安装在eclipse3.6版本以上

原文地址:https://www.cnblogs.com/zcy_soft/p/3357980.html