mybatis 查询的时候提示 JDBC requires that the JdbcType 错误怎么解决以mysql常用几个函数使用
本文主要内容:
1:mybatis查询时候提示错误:JDBC requires that the JdbcType
2:mysql常用的连接、截取、case when format等函数使用
3:mybatis 怎么模糊查询
正文:
在使用mybatis的时候,有时候我们在查询的时候提示错误:
JDBC requires that the JdbcType must be specified for all nullable parameter。
原因有二:
原因一:查询条件中,必填的,在执行查询的时候没有填写。
各种搜索,都是说存在空值。可是在mapper中做了判断了。
分析:
在直接访问的时候,没有报错。通过查询条件的时候,就会报错。经过对比发现,直接访问对象属性有值,但是在点击查询的时候,form中隐藏域,只有id而没有name属性。当页面中的数据传递给后台,实体赋值的时候,都是空了。而sql语句中:
正好使用到了。所以会一直报错。
错误前:
修改后:
添加name属性就可以了。
原因二:有时候需要指定参数类型:jdbcType=VARCHAR
如果在遇到类似错误,不妨从这两个方面下手,排除下。就因为自己不认真,浪费了一个小时实际。
最后奉献上一条sql语句:
select x.*,REPLACE(x.usedSize1,'.00','') AS 'usedSize' ,CASE WHEN x.hasFiled=1 THEN x.fileName1
ELSE
REPLACE(x.fileName1,CONCAT(CONCAT('.',x.fileSuffix)),'')
END
AS 'fileName' FROM (
SELECT a.id 'id' ,a.file_name 'fileName1',FORMAT (a.file_size/1024,2 ) 'fileSize',a.used_size 'usedSize1', a.update_date 'updateDate'
,a.update_by ,a.create_date,a.file_suffix 'fileSuffix',a.field_id as 'fieldId' ,u.name AS "updateBy.name",a.has_filed 'hasFiled',file_pid 'filePid'
FROM doc_detail a JOIN sys_user u
ON u.id = a.update_by
WHERE a.pro_id=#{proId}
AND a.financing_id=#{financingId}
AND a.file_pid=#{filePid}
AND a.del_flag='0'
)x
<where>
<if test="fileName1 != null and fileName1 != ''">
AND x.fileName1 LIKE CONCAT('%', #{fileName1}, '%')
</if>
</where>
order by x.create_date desc
sql使用到的常用参数说明:
1:使用到replace替換函数
2:使用case when選擇函数
3:使用CONCAT连接函数
4:使用FORMAT 格式化函數
以及在mybatis中 模糊查询的使用
相关文章
- 在mysql中如何修改字段类型_MySQL怎么修改字段类型?「建议收藏」
- MySQL 主从同步出错问题排查(mysql主从同步错误)
- MySQL数据:让企业发挥最大潜力(mysql数据优点)
- 调查:服务器MySQL无法启动原因(服务器mysql无法启动)
- MySQL遭遇系统错误:错误代码5(mysql系统错误5)
- 错误解决MySQL配置时的用户名错误(mysql配置时的用户名)
- MySQL错误10038解决方法(mysql错误10038)
- MySQL安装失败:解决常见错误(mysql安装错误)
- MySQL查看错误日志:一步一步指南(mysql查看错误日志)
- 探究MySQL中MY的含义与作用(mysql中my的意思)
- MySQL使用手册从入门到精通(mysql中manual)
- MySQL中in用法详解,让你轻松掌握数据查询技巧(mysql中in用法)
- MySQL中的40100错误解决方案(mysql中 40100)
- MySQL中2003错误解决方法(mysql中2003)
- MySQL数据库操作遇到1175错误解决方法汇总(mysql中1175错误)
- MySQL 两阶锁机制的实现原理简述(mysql 两阶锁)
- 错误ASP操作MySQL出现异常如何破解(asp取mysql出现)
- MySQL的错误处理机制存储错误信息(mysql中关于储存错误)
- MySQL 的三方类库介绍和应用(mysql 三方类库)
- MySQL密码错误的解决方法(mysql一直密码错误)
- 怎么解决MySQL错误的问题($mysql_err)
- 快速获取MySQL Yum源地址的方法(mysql yum源地址)
- MySQL连接查询出现错误的解决方法(mysql不能用连接查询)
- MySQL无法创建标签解决方案(mysql不能创建标签)
- MySQL查询中实现非递归操作(mysql不用递归)