mybatis(oracle) generatorConfig 自动生成代码详解

本文介绍如何在Eclipse中使用MyBatis generatorConfig插件自动生成Oracle数据库的实体类、Mapper及XML文件。包括配置generatorConfig.xml文件的具体步骤,并提供注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用到mybatis连接orcale数据库,一前一直用的是MySQL,对orcale没有太多的了解,来谈谈今天遇到的几个坑(首先提一点的是这个方法只试用于自己用户下没有数据库,自己用户要用到别的用户的数据库)

第一:

      报错找不到 oracle.jdbc.driver.OracleDriver,这是因为orcale是收费的,maven下载不了这个驱动,这个问题请自行百度,这里不做过多介绍

第二:

        因为要用到数据库中的实体类,就想到了mybatis的generatorConfig,自动生成eneity,mapper,mapper.xml

首先我用的是eclipse要下载generatorConfig这个插件,其他IDE和方法大同小异,这里介绍一个简单的

Help---->Eclipse Marketplace...

点击右下角的Installed

然后在项目的根路径下新建一个generatorConfig.xml

然后复制下面内容

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
<!-- 引入配置文件 -->
<properties resource="init.properties" />


<!-- 指定数据连接驱动jar地址 -->
<classPathEntry location="${classPath}" />


<!-- 一个数据库一个context -->
<context id="infoGuardian">
<!-- 注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true" /><!-- 是否取消注释 -->
<property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳 -->
</commentGenerator>


<!-- jdbc连接 -->
<jdbcConnection driverClass="${jdbc_driver}"
connectionURL="${jdbc_url}" userId="${jdbc_user}"
password="${jdbc_password}" />


<!-- 类型转换 -->
<javaTypeResolver>
<!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>


<!-- 生成实体类地址 -->
<javaModelGenerator
targetPackage="com.sjzyb.his.entity" targetProject="${project}">
<!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->
<property name="enableSubPackages" value="false" />
<!-- 是否针对string类型的字段在set的时候进行trim调用 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>


<!-- 生成mapxml文件 -->
<sqlMapGenerator
targetPackage="com.sjzyb.his.mapperxml" targetProject="${project}">
<!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>


<!-- 生成mapxml对应client,也就是接口dao -->
<javaClientGenerator
targetPackage="com.sjzyb.his.mapper" targetProject="${project}"
type="XMLMAPPER">
<!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>


<!-- 配置表信息 -->
<!-- schema="testuser" -->
<table  tableName="DRUG_INVENTORYSETTING"
domainObjectName="DRUG_INVENTORYSETTING" enableCountByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
enableUpdateByExample="false">
<!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample 
是否生成 example类 -->


<!-- 忽略列,不生成bean 字段 -->
<ignoreColumn column="FRED" />
<!-- 指定列的java数据类型 -->
<columnOverride column="LONG_VARCHAR_FIELD"
jdbcType="VARCHAR" />
</table>
</context>

</generatorConfiguration>

下面是配置文件

注意提前要下载一个oracle的驱动包到你的磁盘里

注意你的generatorConfig.xml中

注意:没有scheam这个属性

注意:tableName与你的数据库名一定相同

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值