当前位置: 代码迷 >> Java Web开发 >> mybatis模糊查询的写法是什么,帮忙看下为何不对
  详细解决方案

mybatis模糊查询的写法是什么,帮忙看下为何不对

热度:6837   发布时间:2016-04-10 22:53:28.0
mybatis模糊查询的写法是什么,帮忙看下为什么不对

public interface TestUserMapper {
@Select("select * from test_user where username like #{username}")
public List<TestUser> getUserListByNames(String username);
}

然后程序中拼接:

testUserList = testUserService.getUserListByNames("'%"+ username + "%'");

为啥不对?
------解决方案--------------------
语句修改成  select * from test_user where username like '$username$'
------解决方案--------------------
传参的时候把两个''去掉,不要用$$这个容易被sql注入
------解决方案--------------------
方法一:去掉单引号
testUserList = testUserService.getUserListByNames("%"+ username + "%");



方法二:重写SQL
@Select("select * from test_user where username like '%#{username}%'")
  相关解决方案