閱讀253 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Mybatis-generator的使用

一、核心文件generator.xml
指定數據庫jar包位置、數據庫連接信息、生成包的位置、表名等關鍵信息。該文件放在任意位置。

<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "https://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
  <!-- 數據庫的JDBC驅動的jar包地址 -->
  <classPathEntry location="F:\xy\jars\mysql-connector-java-5.0.7-bin.jar" />
  
  <context targetRuntime="MyBatis3">
 <!-- 是否去除自動生成的注釋 -->
 <commentGenerator>
<property name="suppressAllComments" value="true" />
 </commentGenerator>
 
 <!-- 數據庫連接的信息 -->
 <jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/db_MybatisTest" 
userId="root" password="mysqltest">
 </jdbcConnection>
 
 <!-- false:JDBC DECIMAL、NUMERIC類型解析為Integer,默認方式 -->
 <!-- true: JDBC DECIMAL、NUMERIC類型解析為java.math.BigDecimal -->
 <javaTypeResolver>
<property name="forceBigDecimals" value="false" />
 </javaTypeResolver>
 
 <!-- 生成模型的包名和位置 -->
 <javaModelGenerator targetPackage="com.xy.model" targetProject="F:\xy\mybatis-generator\src">
 <!-- 是否讓schema作為包的後綴 -->
 <property name="enableSubPackages" value="true" />
 <!-- 從數據庫返回的值被清理前後的空格 -->
 <property name="trimStrings" value="true" />
 </javaModelGenerator>
 
 <!-- 生成映射文件的包名和位置 -->
 <sqlMapGenerator targetPackage="com.xy.mapping"  targetProject="F:\xy\mybatis-generator\src">
  <property name="enableSubPackages" value="false" />
 </sqlMapGenerator>
 
 <!-- 生成DAO的包名和位置 -->
 <javaClientGenerator type="XMLMAPPER" targetPackage="com.xy.dao" targetProject="F:\xy\mybatis-generator\src">
<property name="enableSubPackages" value="true" />
 </javaClientGenerator>

 <!-- tableName:數據庫表 -->
 <!-- domainObjectName:對應於數據庫表的javaBean類名 -->
 <table tableName="t_student" domainObjectName="Student" enableCountByExample="false" 
enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"  selectByExampleQueryId="false">
<!-- 忽略該字段(可省略) -->
<ignoreColumn column="name" />
 </table>
</context>
</generatorConfiguration>


二、table標簽解析
①屬性
schema即為數據庫名,tableName為對應的數據庫表,domainObjectName是要生成的實體類。
若要生成例子可將enableCountByExample等設為true, 就會生成一個對應domainObjectName的Example類,false則不生成,默認策略是true。
類似的還有enableUpdateByExample、enableDeleteByExample、enableSelectByExample、selectByExampleQueryId屬性。

②子標簽
若要對某些數據庫字段進行操作,可以在table標簽中加入如下標簽
1、忽略某個字段 
<ignoreColumn column="name" />
2、無論數據庫字段是何類型,生成的類屬性都是varchar
<columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />

三、生成
mybatis-generator-core-1.3.2.jar是核心jar包,可在網上自行下載。命令窗口執行語句,執行成功後就會在generator.xml文件中指定的位置找到代碼了。
java -jar F:\xy\jars\mybatis-generator-core-1.3.2.jar -configfile F:\xy\generator.xml -overwrite

四、總結
使用Mybatis Generator需要
①兩個jar包——mybatis-generator-core-1.3.2.jar和數據庫jar包
②一個配置文件generator.xml
③執行語句

五、注意事項
①generator.xml格式:必須是以UTF-8無BOM格式編碼,用notepad++轉換。
②注意數據庫包的可用性,無效的數據庫包轉換會報錯。

最後更新:2017-04-03 08:26:28

  上一篇:go 劉芹:我從雷軍和周鴻禕身上學到的幾點創業經驗
  下一篇:go webview與js的相互交互