Myeclipse中Mybatis Generator自动创建代码总结

学习SSM中要写大量的配置文件和同样格式的文件, 就了解到了 Mybatis Generator 在这里做个总结

Myeclipse 中安装mybatis插件和使用:

一、首先下载和安装插件

         1、Mybatis Generator 的下载地址:http://download.csdn.net/download/shayboke/9776906;

         2、复制插件包中的features和plugins放到myeclipse的安装目录下的 dropins 文件夹下面;

         3、重启 Myeclipse 然后在 File->New->other 搜索 mybatis 如果有,说明成功了;


二、工程目录下建立generator的配置文件

        1、在创建配置文件的资源文件下右击,New->other  选择 Mybatis Generator Configuration File 双击,创建 generatorConfig.xml;

        2、然后就是对 generatorConfig.xml的配置

       

[html]  view plain  copy
  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.   
  4. <generatorConfiguration>  
  5.     <!-- 引入配置文件 -->    
  6.     <properties resource="jdbc.properties" />  
  7.     <!-- 指定数据连接驱动jar地址 -->  
  8.     <classPathEntry location="${mysql.classPath}" />  
  9.     <!-- 一个数据库一个context -->  
  10.     <context id="Mysql" targetRuntime="MyBatis3">  
  11.         <!-- 注释 -->    
  12.         <commentGenerator>  
  13.             <!-- 是否生成注释代时间戳-->  
  14.             <property name="suppressDate" value="true" />  
  15.             <!-- 是否去除自动生成的注释 true:是 : false:否 -->  
  16.             <property name="suppressAllComments" value="true" />  
  17.         </commentGenerator>  
  18.         <!--数据库链接URL,用户名、密码 -->  
  19.         <jdbcConnection driverClass="${driver}"  
  20.             connectionURL="${url}" userId="${username}"  
  21.             password="${password}">  
  22.         </jdbcConnection>  
  23.         <!-- 指定JDBC和Java类型转换 -->    
  24.         <javaTypeResolver>  
  25.             <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->   
  26.             <property name="forceBigDecimals" value="false" />  
  27.         </javaTypeResolver>  
  28.         <!-- 生成实体类的包名地址 -->   
  29.         <javaModelGenerator targetPackage="com.shayboke.user.pojo"  
  30.             targetProject="src/main/java">  
  31.             <!-- 自动为每一个生成的类创建一个构造方法,构造方法包含了所有的field;而不是使用setter;-->  
  32.             <property name="constructorBased" value="false"/>  
  33.             <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->  
  34.             <property name="enableSubPackages" value="false" />  
  35.             <!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->  
  36.             <property name="trimStrings" value="true" />  
  37.         </javaModelGenerator>  
  38.         <!-- 生成映射文件的包名和位置 -->  
  39.         <sqlMapGenerator targetPackage="com.shayboke.user.mapper"  
  40.             targetProject="src/main/java">  
  41.             <property name="enableSubPackages" value="false" />  
  42.         </sqlMapGenerator>  
  43.         <!-- 生成DAO的包名和位置 -->  
  44.         <javaClientGenerator type="XMLMAPPER"  
  45.             targetPackage="com.shayboke.user.dao" targetProject="src/main/java">  
  46.             <property name="enableSubPackages" value="false" />  
  47.         </javaClientGenerator>  
  48.         <!-- 要生成哪些表 -->  
  49.         <table tableName="t_user" domainObjectName="User"  
  50.                enableCountByExample="false" enableUpdateByExample="false"  
  51.                enableDeleteByExample="false" enableSelectByExample="false"  
  52.                selectByExampleQueryId="false">  
  53.             <generatedKey column="id" sqlStatement="Mysql" identity="true" />   
  54.         </table>  
  55.     </context>  
  56. </generatorConfiguration>  
  57.   
  58.   
  59.   
  60.   
  61.   
  62.   
  63.   
  64.   
  65.   
  66. <!-- <generatorConfiguration > <context id="context1" > <jdbcConnection driverClass="???"   
  67.     connectionURL="???" userId="???" password="???" /> <javaModelGenerator targetPackage="???"   
  68.     targetProject="???" /> <sqlMapGenerator targetPackage="???" targetProject="???"   
  69.     /> <javaClientGenerator targetPackage="???" targetProject="???" type="XMLMAPPER"   
  70.     /> <table schema="???" tableName="???" > <columnOverride column="???" property="???"   
  71.     /> </table> </context> </generatorConfiguration> -->  


      3、运行,根据配置文件生成文件

      首先要引入 mybatis-generator-core-1.3.4的jar包

[java]  view plain  copy
  1. package com.shayboke.main;  
  2.   
  3. import java.io.File;    
  4. import java.io.IOException;    
  5. import java.sql.SQLException;    
  6. import java.util.ArrayList;    
  7. import java.util.List;    
  8.    
  9. import org.mybatis.generator.api.MyBatisGenerator;    
  10. import org.mybatis.generator.config.Configuration;    
  11. import org.mybatis.generator.config.xml.ConfigurationParser;    
  12. import org.mybatis.generator.exception.InvalidConfigurationException;    
  13. import org.mybatis.generator.exception.XMLParserException;    
  14. import org.mybatis.generator.internal.DefaultShellCallback;    
  15.   
  16.   
  17. public class GenMain {  
  18.       
  19.     public static void main(String[] args) {  
  20.           
  21.          List<String> warnings = new ArrayList<String>();    
  22.             boolean overwrite = true;    
  23.             String genCfg = "/generatorConfig.xml";    
  24.             File configFile = new File(GenMain.class.getResource(genCfg).getFile());    
  25.             ConfigurationParser cp = new ConfigurationParser(warnings);    
  26.             Configuration config = null;    
  27.             try {    
  28.                 config = cp.parseConfiguration(configFile);    
  29.             } catch (IOException e) {    
  30.                 e.printStackTrace();    
  31.             } catch (XMLParserException e) {    
  32.                 e.printStackTrace();    
  33.             }    
  34.             DefaultShellCallback callback = new DefaultShellCallback(overwrite);    
  35.             MyBatisGenerator myBatisGenerator = null;    
  36.             try {    
  37.                 myBatisGenerator = new MyBatisGenerator(config, callback, warnings);    
  38.             } catch (InvalidConfigurationException e) {    
  39.                 e.printStackTrace();    
  40.             }    
  41.             try {    
  42.                 myBatisGenerator.generate(null);    
  43.             } catch (SQLException e) {    
  44.                 e.printStackTrace();    
  45.             } catch (IOException e) {    
  46.                 e.printStackTrace();    
  47.             } catch (InterruptedException e) {    
  48.                 e.printStackTrace();    
  49.             }    
  50.           
  51.           
  52.     }  
  53.   
  54. }  


  关于上面的配置文档说明可以查看我的另一篇博客文章:http://blog.csdn.net/shayboke/article/details/61202079

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值