zoukankan      html  css  js  c++  java
  • generator自动生成mybatis配置和类信息

    generator自动生成mybatis的xml配置、model、map等信息:
    1、下载mybatis-generator-core-1.3.2.jar包。
           网址:http://code.google.com/p/mybatis/downloads/list?can=3&q=Product%3DGenerator,下载mybatis-generator-core-1.3.2-bundle.zip,解压
           找到lib下的需要jar包。
    2、编写genertor的xml文件,名下:generator.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:数据库的JDBC驱动的jar包地址-->  
          <classPathEntry location="E:oracleproduct10.2.0db_1jdbclibojdbc14.jar" />  
        <context id="DB2Tables" targetRuntime="MyBatis3">  
          <commentGenerator>  
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->  
            <property name="suppressAllComments" value="true" />  
            <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->  
          </commentGenerator>  
          <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"  
                  connectionURL="jdbc:oracle:thin:@198.17.1.1:1521:ORCL"  
                  userId="unuser"  
                  password="password">  
          </jdbcConnection>  
            <!--  默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer   
                 true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal   
             -->   
          <javaTypeResolver >  
             <property name="forceBigDecimals" value="false" />  
          </javaTypeResolver>  
          <!-- targetProject:自动生成代码的位置 -->  
          <javaModelGenerator targetPackage="com.soft.model" targetProject="E:WebWorkSpaceworkspace_jsdownAttachdemosrc">  
              <!-- enableSubPackages:是否让schema作为包的后缀 -->       
              <property name="enableSubPackages" value="true" />  
            <!-- 从数据库返回的值被清理前后的空格  -->   
              <property name="trimStrings" value="true" />  
          </javaModelGenerator>  
            
          <sqlMapGenerator targetPackage="sqlmap"  targetProject="E:WebWorkSpaceworkspace_jsdownAttachdemoconf">  
               <property name="enableSubPackages" value="false" />  
          </sqlMapGenerator>  
            
          <javaClientGenerator type="XMLMAPPER" targetPackage="com.soft.mapping"  targetProject="E:WebWorkSpaceworkspace_jsdownAttachdemosrc">  
            <property name="enableSubPackages" value="true" />  
          </javaClientGenerator>  
          <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->  
          <table schema="untodo" tableName="mocha_t_app" domainObjectName="MochaTodoApp" >  
            
          </table>  
        </context>  
           
        </generatorConfiguration>  

    table其他属性:
    enableCountByExample="false"
    enableUpdateByExample="false"
    enableDeleteByExample="false"
    enableSelectByExample="false"
    selectByExampleQueryId="false"
    schema即为数据库名, tableName为对应的数据库表, domainObjectName是要生成的实体类,
    如果想要mapper配置文件加入sql的where条件查询, 可以将enableCountByExample等设为true,
    这样就会生成一个对应domainObjectName的Example类, enableCountByExample等设为false时,
    就不会生成对应的Example类了.

    如果table里边不配置property,默认字段都生成为类属性。
    <ignoreColumn column="FRED" />//忽略字段
    <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />//无论字段是什么类型,生成的类属性都是varchar。

    3、运行有四种:命令生成(最简单)、Java生成、ant生成、maven生成。这里说两种,有兴趣其余的可以在mybatis官网去学习。

    1)、运行-》cmd->java - jar jar包的文件路径  -configfile  generator.xml的文件路径  -overwrite 命令。
    如下:
    Java代码   

    java -jar E:Websoftmybaitsmybatis-generator-core-1.3.2libmybatis-generator-core-1.3.2.jar -configfile E:WebWorkSpaceworkspace_jsdownAttachdemosrccommochasoftdowngenerator.xml -overwrite  

    成功时输出:MyBatis Generator finished successfully.

    2)、java运行关键代码:

         List<String> warnings = new ArrayList<String>();  
          boolean overwrite = true;  
          File configFile = new File("generatorConfig.xml");  
          ConfigurationParser cp = new ConfigurationParser(warnings);  
          Configuration config = cp.parseConfiguration(configFile);  
          DefaultShellCallback callback = new DefaultShellCallback(overwrite);  
          MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);  
          myBatisGenerator.generate(null);  

    其实Java运行,细分可以分两种,还有一种可以去官网学习。
     
    4、生成代码之后,根据自己的实际项目架构,可以对生成的代码进行适当的修改,如把数据库管理交有spring等等。

  • 相关阅读:
    【Oracle】求历史表以往记录中最接近给定时间的一批记录
    【Oracle】用check语法限制字段的输入值
    【Oracle】行转列
    【Thymeleaf】如何实现including
    【Javascript】JS dom设置元素的css样式
    MS SQL BackUp Database && Shrink DB Log && SP WHO LOCK
    PHP magic_quotes_gpc的详细使用方法
    [轉載]用PHP的ob_start();控制您的浏览器cache!
    [轉]jQuery选择器 – 属性过滤(Attribute Filters)
    [轉]CSS之自动换行
  • 原文地址:https://www.cnblogs.com/liaojie970/p/5151349.html
Copyright © 2011-2022 走看看