Posted on 2012-07-22 17:12
ZhouFeng 閱讀(11836)
評論(0) 編輯 收藏 所屬分類:
原創(chuàng) 、
Web開發(fā)
在用MyBatis的時(shí)候,會涉及到POJO類的編寫,Mapper接口的編寫,還有一些xml配置文件,數(shù)據(jù)庫的創(chuàng)建也得自己完成,這樣只是把數(shù)據(jù)庫訪問方式換成了ORM的方式進(jìn)行,工作量并沒有減少,在MyBatis主頁里有看到提供的代碼生成工具,便試了一下,寫好配置文件后,執(zhí)行一條命令便生成了之前我們手工完成的這些文件,很酷哇。
首先在網(wǎng)上下載
mybatis-generator,此處下載的是3.1.1的版本的一個(gè)zip包,下載好后解壓
解壓后有個(gè)doc目錄和一個(gè)lib目錄,doc目錄提供了一個(gè)使用說明文檔,lib目錄是我們需要的jar文件,當(dāng)然還有提供源代碼和文檔jar,這些可以導(dǎo)入MyEclipse里用
進(jìn)入到lib目錄中(當(dāng)然也可以在別處創(chuàng)建一個(gè)目錄,只不過在使用時(shí)要指定jar文件路徑,此處為了方便點(diǎn),就把文件生成在這個(gè)目錄里了),創(chuàng)建一個(gè)配置文件,如conf.xml,此處文件名自己命名,沒有命名方面的特殊要求,我是參考doc文檔里的配置文件寫的,如下
<?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="mysql-connector-java-3.1.13-bin.jar" />
<context id="mysqlTables" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost/bbs"
userId="root"
password="1233">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<javaModelGenerator targetPackage="test.model" targetProject="src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="test.xml" targetProject="src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject="src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table tableName="tb_users" >
</table>
</context>
</generatorConfiguration>
<table>標(biāo)簽里指定要生成的相關(guān)數(shù)據(jù)表,如果有多個(gè)表的話,需要配置多個(gè)<table>
數(shù)據(jù)庫還是用之前創(chuàng)建好的數(shù)據(jù)庫和表,并指定了要生成文件的相關(guān)表,因?yàn)橐玫脚c數(shù)據(jù)庫的連接,得加載數(shù)據(jù)庫驅(qū)動,可以將mysql的驅(qū)動放在系統(tǒng)環(huán)境變量的classpath里,也可以在配置文件里指定路徑,此處為了配置文件方便,把mysql的驅(qū)動jar包拷貝到lib目錄下了,并創(chuàng)建一個(gè)用于存放生成文件的src文件夾
在命令窗口模式下,進(jìn)入到lib目錄,執(zhí)行如下命令
java -jar mybatis-generator-core-1.3.1.jar -configfile conf.xml -overwrite
命令執(zhí)行完成后,便可在src目錄下看到生成的一些文件了,大概看了一下生成的代碼,自己寫的話,還是要花一點(diǎn)時(shí)間的,有好的工具,可真是方便呀,不過發(fā)現(xiàn)一個(gè)問題,生成的代碼里的好多的注釋,感覺注釋比可用代碼都多,我查了一下配置文件,找到了一個(gè)去掉生成注釋的地方,把它加在了配置文件里,大概位置如下,我之前放錯(cuò)了地方,就沒法運(yùn)行
<context id="mysqlTables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
<property name="suppressDate" value="true" />
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"

這樣改了之后,生成的代碼就沒有注釋了,這下清爽了許多,至于<commentGenerator>標(biāo)簽和里面的兩個(gè)屬性的含義,doc文檔里有詳細(xì)的說明,我就不貼在這里了,如果要把生成的文件放到工程應(yīng)用里,注意改下相關(guān)的路徑及包名,應(yīng)該就可以了。
用了一下,感覺這個(gè)東東很不錯(cuò),確實(shí)省事兒不少,不過我還沒有在項(xiàng)目中嘗試,寫在這里了先:)