使用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版本以上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM