zoukankan      html  css  js  c++  java
  • [Mybatis]自动生成工具generatorconfig

    最近项目要用到mybatis中间件,中间涉及到要对表结构生成bean,dao,和sqlconfig.xml 所以记录一下学习过程

    首先是准备工作,即准备需要的jar包:我们的数据库mysql,所以驱动用的mysql-connector-5.1.8.jar 另外还需要 mybatis的jar包: mybatis-3.0.5-SNAPSHOT.jar

    及自动生成的jar包:mybatis-generator-core-1.3.2.jar ....这些都可以到网上下载。。。

    我首先是测试这个自动生成功能,所以没直接在项目里配置,而是先在 d盘测试了一下: 将三个jar包放入D: estlib下

    其次是准备generatorconfig.xml ,将此文件直接放到D: est 下。   generatorconfig.xml文件如:

    <?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE generatorConfiguration 
      PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 
      "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    
    <generatorConfiguration> 
    <classPathEntry location="lib/mysql-connector-5.1.8.jar" />
    
    <context id="MySqlTables" targetRuntime="MyBatis3">
    
    <!--配置数据库链接-->
    
    <jdbcConnection driverClass="com.mysql.jdbc.Driver" 
    connectionURL="jdbc:mysql://localhost:3306/abcProject?characterEncoding=utf8" userId="root"
    password="11112222"> 
    </jdbcConnection>
    
    <javaTypeResolver> 
    <property name="forceBigDecimals" value="false" /> 
    </javaTypeResolver> 
           
    
    
    <!--配置实体bean-->
    
    <javaModelGenerator targetPackage="xmlParer" 
    targetProject="D:	estxmlParer"> 
    <property name="enableSubPackages" value="true" /> 
    <property name="trimStrings" value="true" /> 
    </javaModelGenerator> 
    <!--配置实体map接口(dao)-->   
    <sqlMapGenerator targetPackage="xmlParer" 
    targetProject="D:	estxmlParer"> 
    <property name="enableSubPackages" value="true" /> 
    </sqlMapGenerator> 
        
    <!--配置实体bean的sql.xml-->   
    <javaClientGenerator type="XMLMAPPER" 
    targetPackage="xmlParer"
    targetProject="D:	estxmlParer">
     <property name="enableSubPackages" value="true" /> 
    </javaClientGenerator>
    
    <!--配置实体-->  
    
     <table tableName="abc_agency" domainObjectName="Agency">
     
    </table> 
    </context> 
    </generatorConfiguration>

    因为是简单的测试,所以我的bean和dao及xml 都放到了统一的目录下了。。。D: estxmlParer

    最后 在cmd命令行 执行

    将目录切换到 D: estlib 下

    java -jar mybatis-generator-core-1.3.0.jar -configfile  D: estgeneratorconfig.xml -overwrite 

    这样基本就ok了。。。后来还研究了一下 在java的main方法去执行。。。也ok

    今天把上次main方法读取配置 自动生成bean,及map的代码复制过来 供大家参考

    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.mybatis.generator.api.MyBatisGenerator;
    import org.mybatis.generator.config.Configuration;
    import org.mybatis.generator.config.xml.ConfigurationParser;
    import org.mybatis.generator.exception.XMLParserException;
    import org.mybatis.generator.internal.DefaultShellCallback;
    
    public class AutoMybatis {
     /**
      * @param args
      */
     public static void main(String[] args) {
      List<String> warnings = new ArrayList<String>();
      boolean overwrite = true;
      File configFile = new File("src/generatorConfig.xml");
      ConfigurationParser cp = new ConfigurationParser(warnings);
      Configuration config;
      try {
       config = cp.parseConfiguration(configFile);
    
       DefaultShellCallback callback = new DefaultShellCallback(overwrite);
       MyBatisGenerator myBatisGenerator;
       try {
        myBatisGenerator = new MyBatisGenerator(config, callback,
          warnings);
        myBatisGenerator.generate(null);
       } catch (Exception e) {
    
        e.printStackTrace();
       }
    
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      } catch (XMLParserException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
     }
    }

    这样就更方便自动生成代码了

    原帖地址:http://blog.csdn.net/thunder0709/article/details/7919343

  • 相关阅读:
    python装饰器的4种类型:函数装饰函数、函数装饰类、类装饰函数、类装饰类
    python中将函数赋值给变量时需要注意的一些问题
    python获得命令行输入的参数
    Python实现语音识别和语音合成
    pymysql
    Matplotlib
    级联,映射
    处理丢失数据
    Numpy,Pandas,Matplotlib
    crawlSpider,分布式爬虫,增量式爬虫
  • 原文地址:https://www.cnblogs.com/flyingMonkey/p/4401723.html
Copyright © 2011-2022 走看看