Mybatis中sql语句中的in查询,一定要判断null的情况

不严谨的写法,可能会报错:in (),这种情况不符合mysql的语法。

    select from loanwhere LOAN_ID in 

 

     #{item}  


要么在Mybatis的sql文件中,要么在Java程序中。

 

sql中的写法

Java中的写法:

  List list = null;

     if(ListUtils.isNotEmpty(loadIds){

      list =loanVariationDao.findByLoanIds(loanIds);

   }

  return list;

如果有多个Java方法调用dao mapper,在sql中写比较省事,毕竟只需要一次“参数检查”。

上面的写法是针对一个查询条件的,如果有多个查询条件,记得处理条件之间的关系,

比如 a=1 and b =2 or c=3.

如果有in条件,最好加上括号,(a=1) and (b =2 ) or ( c in ...)

转载于:https://www.cnblogs.com/qitian1/p/6463079.html

你可能感兴趣的:(Mybatis中sql语句中的in查询,一定要判断null的情况)