Mybatis @select like传值问题是怎样的
Mybatis @select like传值问题
Mybatis @select like传值问题是指在Mybatis中使用@select注解查询数据时,如果传入的参数中包含like关键字,就会出现问题。Mybatis会将like关键字当作一个参数,而不是作为一个查询条件,从而导致查询结果不准确。
Mybatis @select like传值的解决方案
1、使用#{}和${}的区别:#{}会对传入的参数做预处理,而${}不会,所以如果传入的参数中包含like关键字,就应该使用${}而不是#{}。
2、使用PreparedStatement的setString方法:在Mybatis中,可以使用PreparedStatement的setString方法来替换掉传入的like关键字,从而解决Mybatis @select like传值的问题。
3、使用StringUtils的replace方法:在Mybatis中,可以使用StringUtils的replace方法来替换掉传入的like关键字,从而解决Mybatis @select like传值的问题。
Mybatis @select like传值示例代码
@Select("SELECT * FROM table WHERE name LIKE #{name}")
List<User> getUserByName(String name);
//使用PreparedStatement的setString方法
@Select("SELECT * FROM table WHERE name LIKE ?")
List<User> getUserByName(String name);
//使用StringUtils的replace方法
@Select("SELECT * FROM table WHERE name LIKE ${name}")
List<User> getUserByName(@Param("name") String name);猜您想看
-
基于JDK8 版本的SpringBoot 启动参数优化是怎样的
一、JDK8 ...
2023年05月25日 -
如何更好地利用烟雾弹
1、烟雾弹的材...
2023年05月15日 -
在CS:GO中玩家无法更改武器,该如何处理?
如何在CS:G...
2023年04月17日 -
Java中好用的Arrays.asList有哪些坑
坑一:返回的L...
2023年07月23日 -
油猴脚本实用技巧:使用 localStorage 和 sessionStorage 存储数据
使用 loca...
2023年05月13日 -
Qt如何实现高亮按钮控件
Qt如何实现高...
2023年05月26日