Posted on 2012-07-22 17:12
ZhouFeng 閱讀(11836)
評論(0) 編輯 收藏 所屬分類:
原創 、
Web開發
在用MyBatis的時候,會涉及到POJO類的編寫,Mapper接口的編寫,還有一些xml配置文件,數據庫的創建也得自己完成,這樣只是把數據庫訪問方式換成了ORM的方式進行,工作量并沒有減少,在MyBatis主頁里有看到提供的代碼生成工具,便試了一下,寫好配置文件后,執行一條命令便生成了之前我們手工完成的這些文件,很酷哇。
首先在網上下載
mybatis-generator,此處下載的是3.1.1的版本的一個zip包,下載好后解壓
解壓后有個doc目錄和一個lib目錄,doc目錄提供了一個使用說明文檔,lib目錄是我們需要的jar文件,當然還有提供源代碼和文檔jar,這些可以導入MyEclipse里用
進入到lib目錄中(當然也可以在別處創建一個目錄,只不過在使用時要指定jar文件路徑,此處為了方便點,就把文件生成在這個目錄里了),創建一個配置文件,如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>標簽里指定要生成的相關數據表,如果有多個表的話,需要配置多個<table>
數據庫還是用之前創建好的數據庫和表,并指定了要生成文件的相關表,因為要用到與數據庫的連接,得加載數據庫驅動,可以將mysql的驅動放在系統環境變量的classpath里,也可以在配置文件里指定路徑,此處為了配置文件方便,把mysql的驅動jar包拷貝到lib目錄下了,并創建一個用于存放生成文件的src文件夾
在命令窗口模式下,進入到lib目錄,執行如下命令
java -jar mybatis-generator-core-1.3.1.jar -configfile conf.xml -overwrite
命令執行完成后,便可在src目錄下看到生成的一些文件了,大概看了一下生成的代碼,自己寫的話,還是要花一點時間的,有好的工具,可真是方便呀,不過發現一個問題,生成的代碼里的好多的注釋,感覺注釋比可用代碼都多,我查了一下配置文件,找到了一個去掉生成注釋的地方,把它加在了配置文件里,大概位置如下,我之前放錯了地方,就沒法運行
<context id="mysqlTables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
<property name="suppressDate" value="true" />
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"

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