使用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 Clob
BLOB Blob
ARRAY Array

mybatis 设置jdbcType与JavaType和JdbcType对应表相关推荐

  1. jdbctype 对应java_MyBatis配置Mapping,JavaType和JDBCType的对应关系

    MyBatis配置Mapping,JavaType和JDBCType的对应关系 bool   cnblogs   eal   real   java.net   numeric   code   do ...

  2. mybatis的jdbcType和javaType、oracle,MySQL的对应类型

    JdbcType介绍 数据库列字段都是有类型的,不同的数据库有不同的类型.为了表示这些数据类型,Java源码是采用枚举来定义的: public enum JDBCType implements SQL ...

  3. Mybatis中jdbcType和javaType的对应关系

    2019独角兽企业重金招聘Python工程师标准>>> Mybatis中jdbcType和javaType的对应关系   1 JDBC Type           Java Typ ...

  4. mybatis jdbcType 对应javaType

    MyBatis 通过包含的jdbcType类型BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINEDTINYINT REAL VARCHAR BINARY BLOB NVAR ...

  5. Mybatis中javaType和jdbcType对应

    mybatis的sql配置文件, resultMap 中javaType与 jdbcType 对应的案例 <resultMap type="java.util.Map" id ...

  6. Mybaitis JdbcType 和javaType

    2019独角兽企业重金招聘Python工程师标准>>> MyBatis 通过包含的jdbcType类型 BIT         FLOAT      CHAR           T ...

  7. jdbcType和javaType

    MyBatis 通过包含的jdbcType类型BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINEDTINYINT REAL VARCHAR BINARY BLOB NVAR ...

  8. mybatis jdbctype oracle number,mybatis 插入null 时需要指定jdbcType

    MyBatis 插入空值时,需要指定JdbcTypemybatis insert空值报空值异常,但是在pl/sql不会提示错误,主要原因是mybatis无法进行转换 insert into instr ...

  9. Springboot 整合mybatis,实现多数据读写分离分库分表

    mybatis多数据源配置(本文示例为两个),方便实现数据库的读写分离,分库分表功能 本文基于springboot2进行的配置,如版本为springboot1系列则需修改yml的配置(在文末附带) m ...

最新文章

  1. inux php pdo mysql 扩展
  2. 如何使用lazyCSRF在Burp Suite上生成强大的CSRF PoC
  3. 手机端展现table_百度信息流广告外包丨百度信息流广告的展现样式和收费方式?...
  4. 树-当前结点与列表页不符的处理
  5. 【Python CheckiO 题解】Correct Sentence
  6. 政府公务办公安全保密邮件系统建设
  7. css显示内容越来越模糊_纯干货,前端学者的福音!如何使用css滤镜改变图片颜色...
  8. springboot细节挖掘(日志系统)
  9. 网管学习日记-ACL
  10. ELK详解(二十)——Elasticsearch索引管理
  11. MSDN 访谈录(MSDN Show)C#编程
  12. 是否采用SD-WAN?你需要先考虑以下问题
  13. idea 中vim快捷键
  14. Ubuntu GCC编译的c程序出现段错误
  15. mbedtls | 03 - 单向散列算法的配置与使用(MD5、SHA1、SHA256、SHA512)
  16. 好用的免费CMS网站模板源码下载推荐
  17. VS2015 程序运行时系统找不到指定文件
  18. Harry Potter and the Goblet of Fire
  19. 信息系统开发与管理 思维导图
  20. hdfs配置文件(hdfs.site.xml)详解

热门文章

  1. 使用libcurl来下载文件
  2. python中rstrip 函数_Python中字符串之rstrip()方法有哪些功能?
  3. Flutter ListView详解
  4. Stata: 交叉验证简介
  5. 【SwiftUI模块】0026、SwiftUI制作具有半透明底部标签栏滚动效果的动画轮播滑块
  6. 月黑雁飞高,计网全知道——精选23道计网面试题目
  7. 使用OpenCV、Keras和TensorFlow进行微笑检测
  8. B站---【狂神说Java】JavaWeb入门到实战---笔记
  9. 【嵌入式】构建嵌入式Linux系统(uboot、内核、文件系统)
  10. C语言排序篇:快速排序