mybatis generator

1.  在 Mybatis 主页 http://code.google.com/p/mybatis/ 上下载 Mybatis mybatis-generator-core [   mybatis-generator-core-1.3.2-bundle.zip ]。当然运行 mybatis-generator 生成的代码还需要下载 mybatis 的 jar 包[本例使用的是 3.0.2 版本],和相关数据库的 jdbc [本文中使用的是MySql的jdbc] 。
 
2. 要运行 generator ,需要给 generator 提供一个配置文件,指定其生成的数据库的相关信息
 
 以oracle数据库为例子的xml配置
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.     <!-- classPathEntry:数据库的JDBC驱动的jar包地址 -->  
  7.     <classPathEntry location="E:/path/to/local/repo/com/oracle/ojdbc14/10.2.0.3.0/ojdbc14-10.2.0.3.0.jar"/>  
  8.     <context id="DB2Tables" targetRuntime="MyBatis3">  
  9.     
  10.         <!-- 是否去除自动生成的注释 true:是,false:否 -->  
  11.         <commentGenerator>  
  12.             <property name="suppressAllComments" value="true"/>  
  13.         </commentGenerator>  
  14.         <!-- 数据库连接的信息:驱动类、连接地址、用户名、密码 -->  
  15.         <!-- MSSQL: driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"  
  16.             connectionURL="jdbc:sqlserver://localhost:3306;DatabaseName=ibatis" -->  
  17.         <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"  
  18.                         connectionURL="jdbc:oracle:thin:@192.168.2.141:1515:apptest" userId="zj100_apptest"  
  19.                         password="zj100">  
  20.         </jdbcConnection>  
  21.         <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer true,把JDBC DECIMAL 和  
  22.             NUMERIC 类型解析为java.math.BigDecimal -->  
  23.         <javaTypeResolver>  
  24.             <property name="forceBigDecimals" value="false"/>  
  25.         </javaTypeResolver>  
  26.         <!---Java 实体的生成 -->  
  27.         <!-- targetProject:自动生成代码的位置 -->  
  28.         <javaModelGenerator targetPackage="cn.sh.zj100.model"  
  29.                             targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">  
  30.             <!-- enableSubPackages:是否让schema作为包的后缀 -->  
  31.             <property name="enableSubPackages" value="fasle"/>  
  32.             <!-- 从数据库返回的值被清理前后的空格 -->  
  33.             <property name="trimStrings" value="false"/>  
  34.         </javaModelGenerator>  
  35.     
  36.         <!--sqlMapper XML文件的生成信息,包括生成路径等 -->  
  37.         <sqlMapGenerator targetPackage="sqlmap"  
  38.                          targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">  
  39.             <property name="enableSubPackages" value="false"/>  
  40.         </sqlMapGenerator>  
  41.         <!--应用接口的生成信息 -->  
  42.         <javaClientGenerator type="XMLMAPPER"  
  43.                              targetPackage="cn.sh.zj100.dao" implementationPackage="cn.sh.zj100.dao.impl"  
  44.                              targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">  
  45.             <property name="enableSubPackages" value="false"/>  
  46.             <property name="methodNameCalculator" value="extended"/>  
  47.         </javaClientGenerator>  
  48.         <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->  
  49.     
  50.         <!--<table schema="APPTEST" tableName="BBS_FORUMS" enableInsert="true"  
  51.         enableSelectByPrimaryKey="true" enableSelectByExample="false"  
  52.         enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="false"  
  53.          enableDeleteByExample="false" enableCountByExample="false"  
  54.          enableUpdateByExample="false" modelType="flat"/>-->  
  55.         <table schema="APPTEST" tableName="BBS_FORUMS" enableInsert="true" enableSelectByPrimaryKey="true"  
  56.                enableSelectByExample="false" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="false"  
  57.                enableDeleteByExample="false" enableCountByExample="false" enableUpdateByExample="false"  
  58.                modelType="flat"/>  
  59.     </context>  
  60. </generatorConfiguration>  
 
 
===================================
 
 以mysql数据库为例子的xml配置
===================================
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.     <!-- classPathEntry:数据库的JDBC驱动的jar包地址 -->  
  7.     <classPathEntry location="D:\dbjars\mysql\mysql-connector-java-5.1.10-bin.jar"/>  
  8.    
  9.     <context id="DB2Tables" targetRuntime="MyBatis3">  
  10.    
  11.         <!-- 是否去除自动生成的注释 true:是,false:否 -->  
  12.         <commentGenerator>  
  13.             <property name="suppressAllComments" value="true"/>  
  14.         </commentGenerator>  
  15.         <!-- 数据库连接的信息:驱动类、连接地址、用户名、密码 -->  
  16.         <!-- MSSQL: driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"  
  17.             connectionURL="jdbc:sqlserver://localhost:3306;DatabaseName=ibatis" -->  
  18.         <jdbcConnection driverClass="com.mysql.jdbc.Driver"  
  19.                         connectionURL="jdbc:mysql://127.0.0.1:3306/jchome" userId="root"  
  20.                         password="root">  
  21.         </jdbcConnection>  
  22.         <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer true,把JDBC DECIMAL 和  
  23.             NUMERIC 类型解析为java.math.BigDecimal -->  
  24.         <javaTypeResolver>  
  25.             <property name="forceBigDecimals" value="false"/>  
  26.         </javaTypeResolver>  
  27.         <!---Java 实体的生成 -->  
  28.         <!-- targetProject:自动生成代码的位置 -->  
  29.         <javaModelGenerator targetPackage="cn.sh.zj100.model"  
  30.                             targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">  
  31.             <!-- enableSubPackages:是否让schema作为包的后缀 -->  
  32.             <property name="enableSubPackages" value="fasle"/>  
  33.             <!-- 从数据库返回的值被清理前后的空格 -->  
  34.             <property name="trimStrings" value="false"/>  
  35.         </javaModelGenerator>  
  36.    
  37.         <!--sqlMapper XML文件的生成信息,包括生成路径等 -->  
  38.         <sqlMapGenerator targetPackage="sqlmap"  
  39.                          targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">  
  40.             <property name="enableSubPackages" value="false"/>  
  41.         </sqlMapGenerator>  
  42.         <!--应用接口的生成信息 -->  
  43.         <javaClientGenerator type="XMLMAPPER"  
  44.                              targetPackage="cn.sh.zj100.dao" implementationPackage="cn.sh.zj100.dao.impl"  
  45.                              targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">  
  46.             <property name="enableSubPackages" value="false"/>  
  47.             <property name="methodNameCalculator" value="extended"/>  
  48.         </javaClientGenerator>  
  49.         <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->  
  50.         <table schema="jchome" tableName="jchome_ad" domainObjectName="Ad" enableInsert="true"  
  51.                enableSelectByPrimaryKey="true"  
  52.                enableSelectByExample="false"  
  53.                enableUpdateByPrimaryKey="false"  
  54.                enableDeleteByPrimaryKey="false"  
  55.                enableDeleteByExample="false"  
  56.                enableCountByExample="false"  
  57.                enableUpdateByExample="false" modelType="flat">  
  58.             <generatedKey column="uid" sqlStatement="MySql" identity="true"/>  
  59.         </table>  
  60.    
  61.     </context>  
  62. </generatorConfiguration>  
 
===================================

这个配置文件提供了 mybatis-generator所需要的参数信息:

  * 其中classPathEntry 是引用的jdbc的类路径,这里将jdbc jar和generator的jar包放在一起了;
  * commentGenerator 是用来除去时间信息的,这在配合类似subversion的代码管理工具时使用很有效,因为可以减少没有必要的注释迁入;
  * jdbcConnection是指定的jdbc的连接信息;
  * javaTypeResolver式类型转换的信息,这里并没有用到;
  * javaModelGenerator是模型的生成信息,这里将指定这些Java model类的生成路径;
  * sqlMapGenerator是mybatis 的sqlMapper XML文件的生成信息,包括生成路径等;
  * javaClientGenerator是应用接口的生成信息;
  * table是用户指定的被生成相关信息的表,它必须在指定的jdbc连接中已经被建立。

 
3.修改你的gererator.bat文件:
@echo off
echo==========mybatis开始生成代码================

java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite

@echo==========mybatis生成代码完毕================
 
4.执行bat文件,即生成相关的代码

转载地址:http://j2eemylove.iteye.com/blog/1914970

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值