zoukankan      html  css  js  c++  java
  • SSM框架——使用MyBatis Generator自动创建代码

      这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。这样可以省去很多的功夫,将生成的代码copy到项目工程中即可。

               使用自动生成有很多方式,可以在eclipse中安装插件,但是以下将要介绍的这种方式我认为很轻松,最简单,不需要装插件,只需要下几个jar包即可,把它们放在一个目录下面。

           生成代码需要的文件和jar包:

    (上图文件下载地址:http://download.csdn.net/detail/u012909091/7206091

           其中有mybatis框架的jar包,数据库驱动程序jar包以及MyBatis生成器jar包。其中的generatorConfig.xml是需要我们来配置的文件,配置如下:

     1 <?xml version="1.0" encoding="UTF-8"?>  
     2 <!DOCTYPE generatorConfiguration  
     3   PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
     4   "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
     5 <generatorConfiguration>  
     6 <!-- 数据库驱动-->  
     7     <classPathEntry  location="mysql-connector-java-5.1.25-bin.jar"/>  
     8     <context id="DB2Tables"  targetRuntime="MyBatis3">  
     9         <commentGenerator>  
    10             <property name="suppressDate" value="true"/>  
    11             <!-- 是否去除自动生成的注释 true:是 : false:否 -->  
    12             <property name="suppressAllComments" value="true"/>  
    13         </commentGenerator>  
    14         <!--数据库链接URL,用户名、密码 -->  
    15         <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://125.221.1.1/db_124" userId="dem" password="dem">  
    16         </jdbcConnection>  
    17         <javaTypeResolver>  
    18             <property name="forceBigDecimals" value="false"/>  
    19         </javaTypeResolver>  
    20         <!-- 生成模型的包名和位置-->  
    21         <javaModelGenerator targetPackage="test.domain" targetProject="src">  
    22             <property name="enableSubPackages" value="true"/>  
    23             <property name="trimStrings" value="true"/>  
    24         </javaModelGenerator>  
    25         <!-- 生成映射文件的包名和位置-->  
    26         <sqlMapGenerator targetPackage="test.mapping" targetProject="src">  
    27             <property name="enableSubPackages" value="true"/>  
    28         </sqlMapGenerator>  
    29         <!-- 生成DAO的包名和位置-->  
    30         <javaClientGenerator type="XMLMAPPER" targetPackage="test.IDao" targetProject="src">  
    31             <property name="enableSubPackages" value="true"/>  
    32         </javaClientGenerator>  
    33         <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->  
    34         <table tableName="user_info_t" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    35     </context>  
    36 </generatorConfiguration>  

    最后给一些小技巧:

    a) 建表时,字段名称建议用"_"分隔多个单词,比如:AWB_NO、REC_ID...,这样生成的entity,属性名称就会变成漂亮的驼峰命名,即:awbNo、recId

    b)oracle中,数值形的字段,如果指定精度,比如Number(12,2),默认生成entity属性是BigDecimal型 ,如果不指定精度,比如:Number(9),指默认生成的是Long型

    c)oracle中的nvarchar/nvarchar2,mybatis-generator会识别成Object型,建议不要用nvarchar2,改用varchar2

  • 相关阅读:
    EBS SQL > Form & Report
    oracle sql 优化分析点
    MRP 物料需求计划
    MRPII 制造资源计划
    Barcode128 应用实务
    Oracle SQL语句优化技术分析
    APPSQLAP10710 Online accounting could not be created. AP Invoice 无法创建会计分录
    Oracle数据完整性和锁机制
    ORACLE Responsibility Menu Reference to Other User
    EBS 常用 SQL
  • 原文地址:https://www.cnblogs.com/printN/p/6901683.html
Copyright © 2011-2022 走看看