findByName(String name)测试的时候,传入的参数要拼接为userDao.findByName("%name%")第二中是占位符, value,{value} ,value,符号,属性必须是value,取参数的值@Selec..._@select 模糊查询">
赞
踩
@Select("select * from xxx where name like #{name} ")
List<xxx> findByName(String name)
测试的时候,传入的参数要拼接为
userDao.findByName("%"+name+"%")
--------修改--------
第二中是占位符, v a l u e , {value} , value,符号,属性必须是value,取参数的值
@Select("select * from xxx where name like CONCAT('%', #{name}, '%')")
List<xxx> findByName(String name)
测试的时候,直接传入参数
userDao.findByName(name)
使用第一种方式亲测有效,第二种没试,应该可以
使用selectProvider
@SelectProvider(type = SelectHelper.class, method = "findByNameMethod")
public List<XXX> findByName(XXX user);
对应的查询辅助类:
public class SelectHelper{
public static String findByNameMethod(XXX user) {
return new SQL() {{
SELECT("*");
FROM("test");
if(StringUtils.hasText(user.getName())) {
WHERE("name like CONCAT('%', #{name}, '%')");
}
ORDER_BY("create_time desc");
}}.toString();
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。