mybatis 设置jdbcType与JavaType和JdbcType对应表
使用mybatis对mysql数据库进行增删改查时,如果传递的参数存在空值,那么会报空值异常:
select * from user where 1= 1 and
<if test="params.userCode!= null and params.userCode.trim()!='' ">
and userCode= #{params.userCode}
</if>
<if test="params.name!= null and params.name.trim()!='' ">
and name like "%"#{params.name}"%"
</if>
Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #2 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property
但是在pl/sql不会提示错误,主要原因是mybatis无法进行转换。所以mybatis在插入空值时,需要指定JdbcType :
select * from user where 1= 1 and
<if test="params.userCode!= null and params.userCode.trim()!='' ">
and userCode= #{params.userCode,jdbcType = VARCHAR}
</if>
<if test="params.name!= null and params.name.trim()!='' ">
and name like "%"#{params.name,jdbcType = VARCHAR}"%"
</if>
javaType和jdbcType的对应关系如下: JDBCType JavaType CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.BigDecimal DECIMAL java.math.BigDecimal BIT boolean BOOLEAN boolean TINYINT byte SMALLINT short INTEGER int BIGINT long REAL float FLOAT double DOUBLE double BINARY byte[] VARBINARY byte[] LONGVARBINARY byte[] DATE java.sql.Date TIME java.sql.Time TIMESTAMP java.sql.Timestamp CLOB Clo BLOB Blob ARRAY Array
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179888.html原文链接:https://javaforall.cn
相关文章
- 《深入理解mybatis原理》 MyBatis的一级缓存实现详解 及使用注意事项
- MyBatis-多表查询(多对多)
- MyBatis——【第二章】mybatis动态sql(分页)
- 若依vue整合mybatis-plus
- mybatis的拦截器_拦截所有来电怎么设置
- MyBatis框架:第五章:源码解析及Mapper接口方式的mybatis的增,删,改,查实现
- maven项目使用mybatis插件Free Mybatis plugin「建议收藏」
- Spring Boot整合MyBatis(保姆级教程)
- mybatis 配置之 <typeAliases> 别名配置元素设置
- SpringBoot+MyBatis+MySQL读写分离
- Mybatis插件better-mybatis-generator的下载与使用
- MyBatis注解开发---实现自定义映射关系和关联查询
- MyBatis学习笔记(三) 关联关系详解编程语言
- MyBatis一对多关联查询
- Mybatis操作MySQL存储过程实现数据库交互(mybatis调用mysql存储过程)
- 简易搭建Mybatis连接Oracle数据库(mybatis连接oracle)