zoukankan      html  css  js  c++  java
  • 使用mybatis自带工具,自动生成表对应domain、mapper.xml以及dao

    引用: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.       
    7.     <!-- 指定数据连接驱动jar地址 -->  
    8.     <classPathEntry location="${classPath}" />  
    9.       
    10.     <!-- 一个数据库一个context -->  
    11.     <context id="infoGuardian" targetRuntime="MyBatis3">  
    12.         <!-- 注释 -->  
    13.         <commentGenerator >  
    14.             <property name="suppressAllComments" value="true"/><!-- 是否取消注释 -->  
    15.             <property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳-->  
    16.         </commentGenerator>  
    17.           
    18.         <!-- jdbc连接 -->  
    19.         <jdbcConnection driverClass="${jdbc_driver}"  
    20.             connectionURL="${jdbc_url}" userId="${jdbc_user}"  
    21.             password="${jdbc_password}" />  
    22.           
    23.         <!-- 类型转换 -->  
    24.         <javaTypeResolver>  
    25.             <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->  
    26.             <property name="forceBigDecimals" value="false"/>  
    27.         </javaTypeResolver>  
    28.           
    29.         <!-- 生成实体类地址 -->    
    30.         <javaModelGenerator targetPackage="cn.ffcs.yuntv.domain"  
    31.             targetProject="${project}" >  
    32.             <!-- 是否在当前路径下新加一层schema,eg:fase路径cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->  
    33.             <property name="enableSubPackages" value="false"/>  
    34.             <!-- 是否针对string类型的字段在set的时候进行trim调用 -->  
    35.             <property name="trimStrings" value="true"/>  
    36.         </javaModelGenerator>  
    37.           
    38.         <!-- 生成mapxml文件 -->  
    39.         <sqlMapGenerator targetPackage="mybatis"  
    40.             targetProject="${resource}" >  
    41.             <!-- 是否在当前路径下新加一层schema,eg:fase路径cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->  
    42.             <property name="enableSubPackages" value="false" />  
    43.         </sqlMapGenerator>  
    44.           
    45.         <!-- 生成mapxml对应client,也就是接口dao -->      
    46.         <javaClientGenerator targetPackage="cn.ffcs.yuntv.dao"  
    47.             targetProject="${project}" type="XMLMAPPER" >  
    48.             <!-- 是否在当前路径下新加一层schema,eg:fase路径cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->  
    49.             <property name="enableSubPackages" value="false" />  
    50.         </javaClientGenerator>  
    51.           
    52.         <!-- 配置表信息,这里没生成一张表,这里需要改变一次对应表名 -->    
    53.         <table schema="icity_yuntv" tableName="T_USER_ADDR"  
    54.             domainObjectName="UserAddr" enableCountByExample="false"  
    55.             enableDeleteByExample="false" enableSelectByExample="false"  
    56.             enableUpdateByExample="false">  
    57.             <!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample   
    58.                 是否生成 example类   -->  
    59.               
    60.             <!-- 忽略列,不生成bean 字段   
    61.             <ignoreColumn column="FRED" />-->  
    62.             <!-- 指定列的java数据类型   
    63.             <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />-->  
    64.         </table>  
    65.   
    66.     </context>  
    67. </generatorConfiguration>  


    4、新建主类:

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


    5、导入jar包:

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

  • 相关阅读:
    6.5、Android Studio的Android Device Monitor
    使用百度地图实现基本的地图显示与定位功能
    6.4、Android Studio的GPU Monitor
    6.3、Android Studio的CPU Monitor
    6.2、Android Studio内存
    6.1、Android Studio的Android Monitor概览
    6.0、Android Studio性能优化工具
    5.3、Android Studio录像
    ScheduledThreadPoolExecutor
    InnoDB支持的最大事务数量
  • 原文地址:https://www.cnblogs.com/xxj-bigshow/p/7233171.html
Copyright © 2011-2022 走看看