日期:2014-05-17  浏览次数:20655 次

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}%'")