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"" enableupdatebyexample=""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 版权协议,转载请附上原文出处链接和本声明。