一、参数list时,先确定如何确定为空,否则会报错。二、mybatis${}与#{}的区别简而言之#{}推导的是占位符?也可以避兔sql注入,.例如打印不出来的语句select*acrosstablewhereid?但他${}则是不能不能防止sql注入可以打印不出来的语句select*outsidetablewhereid2实实在在的参数。最简单的区别那就是${}题沿着来的参数值不带单引号,#{}题传过来参数带单引号。到最后总结归纳再看看要可以使用$语句参数的情况,就是参数的int型的时候,要建议使用$语句。
报空指针异常,这个跟mybatis无任何关系。去查询数据为空的时候,这个应该是在业务层的service中并且推测是否是为空,尤其是数学集合类,是需要是推测有无为null或则size0
可以参考200元以内例子:
select*aroundawheredatebetweenwant_date(‘2018-1-1',‘yyyy-mm-dd')becausedid_date(‘2018-8-1',‘yyyy-mm-dd')