1. 程式人生 > >使用mybatis自帶工具,自動生成表對應domain、mapper.xml以及dao

使用mybatis自帶工具,自動生成表對應domain、mapper.xml以及dao

upd stat javac sch val char 數據庫名 tab decimal

引用:http://blog.csdn.net/p793049488/article/details/40422975

1、需要手動建表,如T_PRI_USER

2、新建配置文件generator.properties:

  1. #工程src路徑
  2. project = E\:/java/eclipseVillage/icity-yuntv/src
  3. #工程存放mapper.xml路徑
  4. resource = E\:/java/eclipseVillage/icity-yuntv/resource
  5. #指定數據連接驅動jar地址
  6. classPath=E:/java/eclipseVillage/icity-yuntv/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.11-bin.jar
  7. jdbc_driver = com.mysql.jdbc.Driver
  8. jdbc_url=jdbc:mysql://192.168.22.20:3306/icity_yuntv?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
  9. jdbc_user=root
  10. jdbc_password=ffcsadmin


3、新建配置文件generatorConfig.xml:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
  3. <generatorConfiguration>
  4. <!-- 引入配置文件 -->
  5. <properties resource="generator.properties"/>
  6. <!-- 指定數據連接驅動jar地址 -->
  7. <classPathEntry location="${classPath}" />
  8. <!-- 一個數據庫一個context -->
  9. <context id="infoGuardian" targetRuntime="MyBatis3">
  10. <!-- 註釋 -->
  11. <commentGenerator >
  12. <property name="suppressAllComments" value="true"/><!-- 是否取消註釋 -->
  13. <property name="suppressDate" value="true" /> <!-- 是否生成註釋代時間戳-->
  14. </commentGenerator>
  15. <!-- jdbc連接 -->
  16. <jdbcConnection driverClass="${jdbc_driver}"
  17. connectionURL="${jdbc_url}" userId="${jdbc_user}"
  18. password="${jdbc_password}" />
  19. <!-- 類型轉換 -->
  20. <javaTypeResolver>
  21. <!-- 是否使用bigDecimal, false可自動轉化以下類型(Long, Integer, Short, etc.) -->
  22. <property name="forceBigDecimals" value="false"/>
  23. </javaTypeResolver>
  24. <!-- 生成實體類地址 -->
  25. <javaModelGenerator targetPackage="cn.ffcs.yuntv.domain"
  26. targetProject="${project}" >
  27. <!-- 是否在當前路徑下新加一層schema,eg:fase路徑cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->
  28. <property name="enableSubPackages" value="false"/>
  29. <!-- 是否針對string類型的字段在set的時候進行trim調用 -->
  30. <property name="trimStrings" value="true"/>
  31. </javaModelGenerator>
  32. <!-- 生成mapxml文件 -->
  33. <sqlMapGenerator targetPackage="mybatis"
  34. targetProject="${resource}" >
  35. <!-- 是否在當前路徑下新加一層schema,eg:fase路徑cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->
  36. <property name="enableSubPackages" value="false" />
  37. </sqlMapGenerator>
  38. <!-- 生成mapxml對應client,也就是接口dao -->
  39. <javaClientGenerator targetPackage="cn.ffcs.yuntv.dao"
  40. targetProject="${project}" type="XMLMAPPER" >
  41. <!-- 是否在當前路徑下新加一層schema,eg:fase路徑cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->
  42. <property name="enableSubPackages" value="false" />
  43. </javaClientGenerator>
  44. <!-- 配置表信息,這裏沒生成一張表,這裏需要改變一次對應表名 -->
  45. <table schema="icity_yuntv" tableName="T_USER_ADDR"
  46. domainObjectName="UserAddr" enableCountByExample="false"
  47. enableDeleteByExample="false" enableSelectByExample="false"
  48. enableUpdateByExample="false">
  49. <!-- schema即為數據庫名 tableName為對應的數據庫表 domainObjectName是要生成的實體類 enable*ByExample
  50. 是否生成 example類 -->
  51. <!-- 忽略列,不生成bean 字段
  52. <ignoreColumn column="FRED" />-->
  53. <!-- 指定列的java數據類型
  54. <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />-->
  55. </table>
  56. </context>
  57. </generatorConfiguration>


4、新建主類:

  1. import java.io.File;
  2. import java.io.IOException;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import org.mybatis.generator.api.MyBatisGenerator;
  6. import org.mybatis.generator.config.Configuration;
  7. import org.mybatis.generator.config.xml.ConfigurationParser;
  8. import org.mybatis.generator.exception.XMLParserException;
  9. import org.mybatis.generator.internal.DefaultShellCallback;
  10. public class GeneratorMain {
  11. public static void main(String[] args) {
  12. List<String> warnings = new ArrayList<String>();
  13. boolean overwrite = true;
  14. //讀取配置文件
  15. File configFile = new File("src/generatorConfig.xml");
  16. ConfigurationParser cp = new ConfigurationParser(warnings);
  17. Configuration config;
  18. try {
  19. config = cp.parseConfiguration(configFile);
  20. DefaultShellCallback callback = new DefaultShellCallback(overwrite);
  21. MyBatisGenerator myBatisGenerator;
  22. try {
  23. myBatisGenerator = new MyBatisGenerator(config, callback,
  24. warnings);
  25. myBatisGenerator.generate(null);
  26. //打印結果
  27. for(String str : warnings){
  28. System.out.println(str);
  29. }
  30. } catch (Exception e) {
  31. e.printStackTrace();
  32. }
  33. } catch (IOException e) {
  34. e.printStackTrace();
  35. } catch (XMLParserException e) {
  36. e.printStackTrace();
  37. }
  38. }
  39. }


5、導入jar包:

MySQL-connector-Java-5.1.11-bin.jar.jar 下載地址;http://download.csdn.net/detail/p793049488/8087305

使用mybatis自帶工具,自動生成表對應domain、mapper.xml以及dao