Mybatis-generator的使用

一、核心文件generator.xml
指定数据库jar包位置、数据库连接信息、生成包的位置、表名等关键信息。该文件放在任意位置。

<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://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 id="DB2Tables" 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++转换。
②注意数据库包的可用性,无效的数据库包转换会报错。
上一篇:暴力递归——逆序栈,不能申请额外的数据结构,只能使用递归函数


下一篇:云服务器ESC的使用体验