mybatis 参数为list时,校验list是否为空, mybatis ${}与#{}的区别

一、参数list时,先判断是否为空,否则会报错。

二、mybatis ${}与#{}的区别

 

简单来说#{} 解析的是占位符?可以防止SQL注入, 比如打印出来的语句 select * from table where id=?
然而${} 则是不能防止SQL注入打印出来的语句 select * from table where id=2  实实在在的参数。
最简单的区别就是${}解析穿过来的参数值不带单引号,#{}解析传过来参数带单引号。
最后总结一下必须使用$引用参数的情况,那就是参数的int型的时候,必须使用$引用。
posted @ 2018-06-25 17:44  牧之丨  阅读(5431)  评论(0编辑  收藏  举报