`

MyBatis Oracle Error setting null parameter 的解决方法

阅读更多
适配oracle数据库的时候,mybatis报了Error setting null parameter,bug发现是参数出现了null值,对于Mybatis,如果进行操作的时候,没有指定jdbcType类型的参数,就可能导致问题。

postgreSQL,MySQL,SQLSERVER都支持JdbcType.NULL类型,Oracle是不支持,适配的时候也因为这个问题导致mybatis报错。


例如用代码生成工具生成的插入
<insert id="insert" parameterType="cmcc.om.log.entity.Log" >
    insert into OM_LOG (ID, USER_ID, APP_ID,
      LOG_OBJECT, LOG_OPERATION, PLATFORM_LOGID,
      LOG_TYPE, LOG_LEVEL, LOG_TIME
      )
    values (#{id,jdbcType=CHAR}, #{userId,jdbcType=OTHER}, #{appId,jdbcType=OTHER},
      #{logObject,jdbcType=OTHER}, #{logOperation,jdbcType=OTHER}, #{platformLogid,jdbcType=OTHER},
      #{logType,jdbcType=DECIMAL}, #{logLevel,jdbcType=DECIMAL}, #{logTime,jdbcType=DATE}
      )
  </insert>

或有#{userId,jdbcType=OTHER} ,这样虽然oracle设置值可以为空还是会报错,如果是字符类型改成#{userId,jdbcType=VARCHAR}就没问题了,日期类型就改成DATE,反正就是改成本来的类型,OTHER的话Oracle比较傻,不知道怎么办
分享到:
评论

相关推荐

    解决mybatis使用char类型字段查询oracle数据库时结果返回null问题

    "解决mybatis使用char类型字段查询oracle数据库时结果返回null问题" 在使用mybatis框架对Oracle数据库进行查询操作时,如果使用char类型字段作为查询条件,可能会出现结果返回null的问题。这种情况下,需要对char...

    SpringBoot+mybatis+Oracle整合代码

    4. **MyBatis的Mapper接口和XML映射文件**:MyBatis通过Mapper接口与XML映射文件实现SQL和Java方法的绑定。Mapper接口定义了数据库操作的方法,XML文件中编写具体的SQL语句和结果映射。在SpringBoot中,可以通过@...

    SpringBoot+Mybatis+Oracle代码demo

    在本项目"SpringBoot+Mybatis+Oracle代码demo"中,开发者旨在提供一个集成SpringBoot、Mybatis和Oracle数据库的示例,以帮助初学者更好地理解和应用SpringBoot框架。下面将详细阐述这三个核心技术及其在项目中的应用...

    springboot整合mybatis调用oracle存储过程

    在`pom.xml`文件中添加Oracle JDBC驱动(ojdbc66-oracle6.0.1.jar)和MyBatis的依赖: ```xml &lt;!-- Spring Boot Starter Web --&gt; &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-web ...

    mybatis连接oracle实例

    在Eclipse中创建一个JUnit测试类,注入`TestService`,并调用其方法进行数据库操作,如查询、插入、更新或删除,以验证MyBatis是否成功连接到Oracle数据库。 通过以上步骤,你就完成了MyBatis连接Oracle数据库的...

    mybatis乱码的解决方法

    解决MyBatis乱码问题的方法: 1. **检查数据库配置**:确保数据库服务器的字符集设置为支持中文的编码,如UTF-8,并在数据库连接字符串中明确指定字符集。 2. **统一项目编码**:在整个项目中,包括IDE、代码文件...

    mybatis-oracle逆向工程工具

    MyBatis-Oracle逆向工程工具是一款高效实用的开发辅助软件,专为使用MyBatis框架和Oracle数据库的开发者设计。这款工具的核心功能是自动生成与数据库表结构对应的MyBatis映射文件、实体类以及DAO接口,极大地提高了...

    spring+mybatis+oracle简易案例

    Spring作为一款强大的应用框架,提供依赖注入、AOP(面向切面编程)等功能,而MyBatis则是一个轻量级的持久层解决方案,它将SQL语句与Java代码解耦,使得数据库操作更为灵活。Oracle数据库则是企业级广泛应用的...

    mybatis + oracle demo

    【标题】"mybatis + oracle demo"是一个关于如何结合MyBatis框架与Oracle数据库进行实际操作的示例项目。这个项目旨在为初学者提供一个简单易懂的起点,帮助他们快速掌握MyBatis在Oracle环境下的应用。 【描述】...

    http接口返回json,springmvc+mybatis+oracle

    当Controller层接收到请求并处理完业务逻辑后,会调用MyBatis的Mapper方法来与Oracle数据库进行交互。 4. **Oracle数据库**: Oracle是世界上最流行的商业关系型数据库管理系统之一,以其强大的性能和高可用性而...

    Mybatis 中 Oracle 的拼接模糊查询及用法详解

    Cause:org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType null. 解决方法是检查参数的数据类型和jdbcType的设置,确保参数的数据类型和jdbcType正确。 四、结论 ...

    Mybatis oracle迁移mysql修改总汇

    Mybatis oracle迁移mysql修改总汇

    spring boot mybatis oracle 例子

    spring boot mybatis oracle 例子 1. 排序条件带上 2.分页语句下面连着查询语句 PageHelper.startPage(1, 2, "RECORD_DATE desc"); 实现分页,包已经导入了

    MyBatis Oracle 自增序列的实现方法

    本文将详细讲解如何在MyBatis中实现Oracle的自增序列,并配置MyBatis以支持Oracle的主键自增长。 首先,你需要在Oracle数据库中创建一个序列对象。例如,你可以创建一个名为`SEQ_TABLE`的序列: ```sql CREATE ...

    mybatis返回Integer

    这是因为Integer对象提供了更丰富的功能,比如比较操作、null安全的方法等。此外,Integer还兼容Java的自动装箱和拆箱机制,使得代码更加简洁。 例如,以下是一个使用Integer作为返回值类型的MyBatis示例: ```xml...

    mybatis,对null无法处理的原因.pdf

    针对这一问题,我们可以采取以下两种解决方案来确保MyBatis能够正确处理null值。 **解决方案一:全局配置文件修改** 在MyBatis的全局配置文件(通常为mybatis-config.xml)中,我们可以在`&lt;settings&gt;`标签内添加一...

    mybatis的oracle的批量插入优化和mybatis的generator自动生成三层文件

    本文将详细探讨如何在Oracle数据库中进行批量插入优化,并介绍MyBatis Generator这一自动化代码生成工具,以提高开发效率。 首先,让我们深入理解Oracle数据库中的批量插入。批量插入可以显著提升性能,尤其是在...

    maven+spring+springMVC+mybatis+oracle

    在IT行业中,构建高效、可维护的企业级应用是一项复杂任务,而"Maven+Spring+SpringMVC+MyBatis+Oracle"的组合是常见的技术栈,用于开发Java Web应用程序。这个组合提供了强大的依赖管理和模块化,灵活的控制反转,...

    springboot +mybatis+oracle 配置多个数据源,配置两个数据库信息

    本配置示例将详细介绍如何在Spring Boot中整合MyBatis与Oracle数据库,并配置两个不同的数据源。 首先,我们需要理解数据源(DataSource)的概念。数据源是Java应用程序与数据库之间的桥梁,它负责管理数据库连接,...

    idea配置maven+Springboot+mybatis+oracle

    本知识点将详细介绍如何在Idea中配置Maven、Spring Boot、MyBatis以及Oracle数据库,实现一个完整的Java Web项目架构。 **一、配置Maven** 1. **安装Maven**: 首先确保你的系统中已经安装了Maven,可以在命令行...

Global site tag (gtag.js) - Google Analytics