MyBatis中like拼接%模糊查询
##方法一##
###代码拼接%符号,直接传参###
在代码层就直接将传入的参数做%
的拼接,传入参数直接就直接使用
public void selectBykeyWord(String keyword) {
String id = "%" + keyword + "%";
String roleType = "%" + keyword + "%";
String roleName = "%" + keyword + "%";
userDao.selectBykeyWord(id,roleName,roleType);
}
然后xml中直接当做普通参数传入like对应位置即可
##方法二##
###mysql的 CONCAT()函数###
mysql有函数 CONCAT(str1,str2,...)
可以直接拼接多个字符串。则利用该函数:
<select id="getTagArticles" resultMap="BaseResultMap">
select*
from e_article
where area_tags LIKE CONCAT('%',#{tag},'%') //这里做函数拼接
</select>
##方法三##
###mybatis的bind定义###
<select id="getTagArticles" resultMap="BaseResultMap">
<bind name="pattern" value="'%' + tag+ '%'" /> //这里做函数拼接,将tag拼接成新的patten参数
select *
from e_article
where area_tags LIKE #{pattern}
</select>