若是你使用過hibernate的eclipse插件自動建立DAO文件,那麼就容易理解下面介紹的內容;若是你尚未用過hibernate也無妨。下面介紹使用mybatis 3的eclipse插件自動生成相關文件以及如何使用這些文件。html
eclipse插件安裝地址:http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/java
附件有link安裝包,link安裝方式參考http://maimode.iteye.com/admin/blogs/1164524mysql
MyBatis Generator詳細介紹參見:http://code.google.com/p/mybatis/wiki/Generatorweb
安裝插件的過程就不說了,安裝完後,eclipse中File-》new-》other中會發現多了mybatis選項說明插件安裝成功。sql
如何使用插件數據庫
在任意項目中利用上圖中的嚮導建立generatorConfig.xml文件(名稱可修改)而後修改文件內容,主要是設置鏈接數據的相關參數:api
<?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="y:\\workspace\pojo\WebContent\WEB-INF\lib\ojdbc14.jar" /> --> <classPathEntry location="e:\\pojo\WebContent\WEB-INF\lib\mysql-connector-java-5.1.26-bin.jar" /> <context id="Oracle" targetRuntime="MyBatis3"> <!-- 開啓註釋 --> <commentGenerator> <property name="suppressAllComments" value="false" /> </commentGenerator> <!-- 數據庫鏈接 --> <!-- connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl" userId="orcl" password="orcl"> --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password=""> </jdbcConnection> <!--容許數值類型轉換成不一樣類型,不然都映射爲BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 模型文件 --> <javaModelGenerator targetPackage="cn.com.sgcc.model" targetProject="webserver/src"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- XML映射文件 --> <sqlMapGenerator targetPackage="com.my.xml" targetProject="webserver/src"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- DAO文件(mapper接口) --> <javaClientGenerator targetPackage="com.my.dao" targetProject="webserver/src" type="XMLMAPPER"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 數據庫表 --> <!-- <table tableName="T_USER" domainObjectName="User"> <property name="useActualColumnNames" value="false" />--> <!-- <generatedKey column="ID" sqlStatement="DB2" identity="true" /> <columnOverride column="DATE_FIELD" property="startDate" /> <ignoreColumn column="FRED" /> <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" /> --> <!-- </table> --> <table tableName="T_USERDETAIL" domainObjectName="UserDetail"> <!-- useActualColumnNames屬性是爲了使生成的model字段與數據庫的字段大小寫不一致 --> <property name="useActualColumnNames" value="false" /> </table> </context> </generatorConfiguration>
根據名稱應該能纔出來大體的意思。session
配置好鏈接數據庫及表的信息後就能夠利用插件自動生成代碼了。mybatis
點擊上圖中的選項,若是配置正確,便自動建立相關文件了。oracle
文件主要有三類:
client包,mapper 接口文件
model包,實體bean文件
mapper包,mapper xml文件
如何使用這些自動生成的文件
首先須要將mapper包下的xml文件添加到mybatis的sqlmapper文件中
而後程序中這樣使用:
若是where條件比較複雜,還能夠自定義查詢條件,如上例中andRouteIs(routeName)就是自定義的查詢條件。能夠在
具體的Example的內部類Criteria中自定義查詢條件:
咱們可能會擔憂一旦從新執行generate的時候,咱們本身編寫的代碼會不會丟失,不會的,插件不會修改或丟棄咱們本身編寫的代碼。
一旦掌握了插件如何使用,重要的工做就是如何使用XXXExample類了。這種方式,徹底不用編寫繁瑣的mapper xml文件。