原文出自http://www.yihaomen/article/java/302.htm


很久以前,我写过一个 mybatis mysql 版本的java 代码生成器,可以生成相应的mapper文件, 接口文件,实体类等代码。但是那个mysql 版本的尽管替换为oracle 的jar 包之后,还是不能用。恰好现在的项目又要用到oracle 数据库,于是就看了下,修改了一个oracle 版本的提供下载 




基本用户还是与mysql 版本的mybatis 生成器没多大差别,我特地为oracle 单独增加了一个配置文件,还有执行方法
配置文件:
 程序代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration 
  PUBLIC "-//mybatis//DTD MyBatis Generator Configuration 1.0//EN" 
  "http://mybatis/dtd/mybatis-generator-config_1_0.dtd"> 
   
<generatorConfiguration> 
  <!-- classPathEntry:数据库的JDBC驱动的jar包地址--> 
<classPathEntry location="D:\oracle\instantclient_11_2\ojdbc6.jar" /> 
<context id="ORACLE_TABLES" targetRuntime="MyBatis3"> 

    <commentGenerator>
      <property name="suppressAllComments" value="true" />
      <property name="suppressDate" value="true" />
    </commentGenerator>
    
  <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" 
          connectionURL="jdbc:oracle:thin:@172.16.10.55:1521:orcl" 
          userId="shange" 
          password="123456"> 
  </jdbcConnection> 
    <!--  默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer  
         true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal  
     -->  
  <javaTypeResolver > 
     <property name="forceBigDecimals" value="true" /> 
  </javaTypeResolver> 
  <!-- targetProject:自动生成代码的位置 --> 
  <!-- 这里是 实体类的包. -->
  <javaModelGenerator targetPackage="com.isprint.server.yessafeid.core.model.bto" targetProject="src"> 
      <!-- enableSubPackages:是否让schema作为包的后缀 -->      
      <property name="enableSubPackages" value="true" /> 
    <!-- 从数据库返回的值被清理前后的空格  -->  
      <property name="trimStrings" value="true" /> 
  </javaModelGenerator> 
  <!-- 这里是放XML 隐射文件的目录 -->  
  <sqlMapGenerator targetPackage="com.isprint.server.yessafeid.core.dao.mapper.oracle"  targetProject="src">
      <property name="enableSubPackages" value="true" />
  </sqlMapGenerator>    

   <!-- 这里是放接口文件的包名 -->  
  <javaClientGenerator type="XMLMAPPER" targetPackage="com.isprint.server.yessafeid.core.dao"  targetProject="src"> 
    <property name="enableSubPackages" value="true" /> 
  </javaClientGenerator> 
  <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 --> 
  <table schema="" tableName="T_USER" domainObjectName="UserBto" 
      enableCountByExample="false" enableUpdateByExample="false"
        enableDeleteByExample="false" enableSelectByExample="false"
        selectByExampleQueryId="false">
  </table> 
</context> 
    
</generatorConfiguration> 



执行的java 代码方法:
 程序代码
package com.yihaomen.test;

import org.mybatis.generator.ant.GeneratorAntTask;

public class GenOracleMain {
    
    public static void main(String[] args) {
        try {
          GeneratorAntTask task = new GeneratorAntTask();
              //配置文件的路径。
          String genCfg = "D:/Dev/eclipse/workspace/myBatisGenerator/src/mbgConfigurationoracle.xml";
          task.setConfigfile(genCfg);  //(配置文件具体path)
          task.execute();
        } catch (Exception e) {
          e.printStackTrace();
        }
      }

}

更多推荐

Mybatis 生成Oracle 数据库代码生成器