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

  • Post author:
  • Post category:其他


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

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

在这里插入图片描述


基本用户还是与mysql 版本的mybatis 生成器没多大差别,我特地为oracle 单独增加了一个配置文件,还有执行方法

配置文件:

<!--?xml version="1.0" encoding="UTF-8"?-->
<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"">
    </property></property></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"">
  </property></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"">
  </property></property></javamodelgenerator>
  <!-- 这里是放XML 隐射文件的目录 --> 
  <sqlmapgenerator targetpackage=""com.isprint.server.yessafeid.core.dao.mapper.oracle"" targetproject=""src"">
      <property name=""enableSubPackages"" value=""true"">
  </property></sqlmapgenerator>   
 
   <!-- 这里是放接口文件的包名 --> 
  <javaclientgenerator type=""XMLMAPPER"" targetpackage=""com.isprint.server.yessafeid.core.dao"" targetproject=""src"">
    <property name=""enableSubPackages"" value=""true"">
  </property></javaclientgenerator>
  <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->
  <table schema="""" tablename=""T_USER"" domainobjectname=""UserBto"" enablecountbyexample=""false"" enableup&#100;atebyexample=""false"" enabledeletebyexample=""false"" enableselectbyexample=""false"" selectbyexamplequeryid=""false"">
  </table>
</context>
     
</classpathentry></generatorconfiguration>


执行的java 代码方法:

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 代码生成器 生成mysql代码时 schema 需要填写

mybatis 代码生成器 生成oracle代码时 schema 不需要填写

<!-- mybatis 代码生成器 生成mysql代码时  schema 需要填写 -->
    <!--<table schema="public" tableName="tb_rule" domainObjectName="TbRule"></table>-->
    <!--<table schema="public" tableName="tb_organ" domainObjectName="TbOrgan"></table>-->
    <!--<table schema="public" tableName="payment" domainObjectName="payment"></table>-->


    <!-- mybatis 代码生成器 生成oracle代码时  schema 不需要填写  -->
    <table schema="" tableName="tb_report" domainObjectName="TbReport"></table>

参考网址及代码下载地址:

http://www.yihaomen.com/article/java/589.htm



版权声明:本文为weixin_42134712原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。