MyBatis的异常、错误

那年仲夏 提交于 2020-02-08 18:47:56

1、关于mybatis中判断条件中参数字符串处理

错误写法:

if test="status == 'Y' "

会抛出数字格式异常 NumberFormatException!
正确写法:

if test='status == "y" '

Mybatis的sql语句参数入参,对于基础数据类型的参数数据,使用@Param注解实现参数入参,对于复杂数据类型的参数类型,直接入参即可。

2、like语句中通配符的使用:百分号、下划线

  • % 是任意多个字符
select * from user where csdn like '%psh';   
select * from user where csdn like 'dsen%';   
select * from user where csdn like '%psh%';
  • _是一个字符
select * from user where csdn like '_';   
select * from user where csdn like 'csdn_';   
select * from user where csdn like 'p_csnd';  

比如、如果要搜索一个字符串 “p_” ,如果直接 like"p_",那么下划线的作用就是通配符,而不是字符,结果,我们会查到比如 “pa”,“pb”,“pc”,而不是我们需要的 “p_”,用 LIKE ‘ps_’ ESCAPE ‘S’ 's’表示特殊用法标志。

3、处理大小于号等符号

用转义字符把>和<替换掉:

SELECT * FROM test WHERE 1 = 1 AND start_date  <= CURRENT_DATE AND end_date >= CURRENT_DATE

4、空指针异常的原因:

1.当传入的是Integer id ,此时id=null; 并且可正常返回空集合

2.如果service层是Integer id,dao层是 int id,当id=null时会报异常

3。如果传入的是List集合,集合不能为空,为空报异常,特别是xml中用foreach标签

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!