`
jiangmq100083
  • 浏览: 11413 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

mybatis insert 时 null值的报错问题

阅读更多

在用mybatis的时候,特别是在进行update,insert或者delete的时候,如果有的值是null的话,会报错。原因是没有为参数指定jdbcType,所以当值是null的时候,mybatis无法进行转换,解决方法就是在sql的xml文件中,每个参数后面都跟上它的jdbcType。

 

<insert id="insertSomething" parameterType="xxx.xxx.xxx.xxxxvo">

insert into tbl (name,age,sex) values (#{name,jdbcType=VARCHAR},#{age,jdbcType= INTEGER},#{sex,jdbcType=VARCHAR})

 

</insert>

 

jdbcType的值对应有很多:

BIT         FLOAT      CHAR           TIMESTAMP       OTHER       UNDEFINED

TINYINT     REAL       VARCHAR        BINARY          BLOB        NVARCHAR

SMALLINT    DOUBLE     LONGVARCHAR    VARBINARY       CLOB        NCHAR

INTEGER     NUMERIC    DATE           LONGVARBINARY   BOOLEAN     NCLOB

BIGINT      DECIMAL    TIME           NULL            CURSOR

分享到:
评论

相关推荐

    Oracle+Mybatis的foreach insert批量插入报错的快速解决办法

    总之,当在Oracle数据库中使用MyBatis进行批量插入时,务必注意适应Oracle的特定语法,如使用`INSERT ALL`,避免使用MySQL等其他数据库系统适用的语法,如逗号分隔的`VALUES`列表。同时,确保正确处理主键生成逻辑,...

    mybatis返回Integer

    标题"mybatis返回Integer"指的是在MyBatis的映射文件或者Mapper接口中,使用Integer作为返回值类型时,相较于使用int,可能会避免一些潜在的问题。 首先,我们要理解Java中的基本类型int和引用类型Integer的区别。...

    spring boot整合mybatis-plus启动报错问题及解答.pdf

    在整合Spring Boot与MyBatis-Plus的过程中,可能会遇到启动应用时报错的问题。错误信息通常类似于"Error starting ApplicationContext",并提示"UnsatisfiedDependencyException",这表明Spring框架在初始化bean时...

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

    在MyBatis框架中,当处理SQL语句时,遇到参数为null的情况,可能会出现一些问题,这主要是由于MyBatis将null值默认映射到JDBC类型的`OTHER`,而并非所有数据库都能正确处理这种类型。这可能导致插入或更新操作失败,...

    Mybatis 中的insertOrUpdate操作

    在Mybatis中,`insertOrUpdate`操作是一种将数据插入数据库,如果存在相同的唯一标识则更新已有数据的方法。这种操作在数据库编程中非常实用,因为它允许开发者以简洁的方式处理增删改查(CRUD)操作。在MySQL中,...

    MyBatis_insert

    【MyBatis_insert】——深入理解MyBatis映射器插入操作 MyBatis作为一款优秀的持久层框架,极大地简化了Java开发中的数据库操作。它允许开发者将SQL语句直接写在XML配置文件中,通过映射器(Mapper)与Java代码进行...

    MyBatis insert操作插入数据之后返回插入记录的id

    "MyBatis insert操作插入数据之后返回插入记录的id" MyBatis是一款流行的Java持久层框架,今天我们将讨论MyBatis insert操作插入数据之后返回插入记录的id的知识点。 首先,MyBatis提供了一个机制来获取插入数据...

    rapid_myBatis修改版.zip

    在使用Rapid_myBatis修改版时,开发者应当遵循一些最佳实践,比如保持模板清晰简洁,避免过度复杂化;合理使用注解,减少XML配置;定期更新基础库,以利用最新的性能优化和安全修复。 9. **学习与应用** 对于想要...

    mybatis-3-config/mapper.dtd 解决mybatis头文件报错

    解决mybatis头文件报错 下载好压缩包 解压将文件放到本地文件夹 例如 D盘的哪个文件夹 D:\mybatis\ ;然后打开eclipse -&gt;Window-&gt;prefenrence-&gt;XML-&gt;XML Catalog-&gt;User Specifiled Entreis-&gt;Add-&gt;Location(此处是你...

    使用mybatis-plus的insert方法遇到的问题及解决方法(添加时id值不存在异常)

    在使用 MyBatis-Plus 的 `insert` 方法时,可能会遇到一些问题,特别是当尝试插入新记录时,可能会遇到“id 值不存在异常”。这个问题通常是由于 MyBatis-Plus 自动为实体类中的 `id` 字段生成默认值,而这个默认值...

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

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

    Mybatis批量更新报错问题

    本文将详细分析Mybatis批量更新的报错问题及其解决方法。 首先,报错可能由于不支持批量更新操作的JDBC配置引起。在MySQL中,如果不开启`allowMultiQueries`参数,Mybatis尝试执行包含多个SQL语句的批量更新时,会...

    mybatis 对clob类型转换

    在使用MyBatis框架进行数据操作时,我们可能会遇到CLOB类型数据的读写问题,尤其是在转换和插入数据库时。本篇将详细探讨MyBatis中处理CLOB类型数据的转换以及解决可能出现的异常情况。 首先,MyBatis是Java中的一...

    Mybatis返回int或者Integer类型报错的解决办法

    总之,解决Mybatis返回`int`或`Integer`类型报错的问题,你可以: 1. 将Mapper方法的返回类型改为`Integer`,以允许返回`null`。 2. 在SQL查询中使用`NVL()`, `IFNULL()`, `ISNULL()`或`COALESCE()`函数来确保在没有...

    mybatis连接MySQL8出现的问题解决方法

    然而,在使用MyBatis连接MySQL8时,可能会出现一些问题。本文将介绍MyBatis连接MySQL8出现的问题解决方法。 问题描述 在使用MyBatis连接MySQL8时,执行到数据库查询前均正常,但进行查询时,便卡主没有反应了。...

    Mybatis实现多表联合查询和批量插入

    Mybatis实现多表联合查询和批量插入 Mybatis是一款流行的持久层框架,它可以帮助开发者快速、高效地访问数据库。在实际开发中,经常需要对多个表进行联合查询,或者对大量数据进行批量插入。本文将详细介绍如何使用...

    mybatis批量添加

    mybatis批量添加的时候报错总结报错 parameter'_frch_item_0 not found

    Mybatis查不到数据查询返回Null问题

    如果你的数据库中的数据是用UTF-8编码的,但在查询过程中没有正确地设置字符编码,那么Mybatis在映射数据到Java对象时可能会因为无法正确解析数据的编码而导致NULL值。 解决这类问题的步骤如下: 1. 检查Mybatis的...

    解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法

    总的来说,解决MyBatis-Plus 3.1.1版本使用Lambda表达式查询报错的问题,主要从以下几个方面入手: 1. 检查并确保实体类中的字段有正确的`@TableField`注解,指定了数据库中的对应列名。 2. 在配置中启用Lambda支持...

    小程序开发笔记(一):使用mybatis时遇到查询结果返回为空(NULL)的情况,但数据库表有值

    我是用junit进行的接口测试,通过上图可以知道,测试结果返回了7条数据,但是7条数据都为null值。而我的数据库表确是有值的,这说明我的sql语句是没有问题的,于是查看了mapper文件,发现了一个问题。 从上图的...

Global site tag (gtag.js) - Google Analytics