今天解决了 当传一串用逗号隔开的关键字如 “健康,科技 ”的字符串 去数据库模糊查找的时候,应该怎么查。
首先 把传过来的 字符串拆分,如“健康,科技” 拆分为:“健康” 和“科技” :
public List<SysArticle> searchByLikeWords(String keyw) {
String keyw="健康,科技";
String[] s = keyw.split(","); // 拆分为数组类型存放
StringBuilder sb = new StringBuilder(""); //用于组装查询语句
for(int i= 0 ;i<s.length ;i++){ // 依次输出拆分开的关键字
if(i==0)
{
sb.append(" ar.keywords like '%"+s[i]+"%'");
}else{
sb.append(" or ar.keywords like '%"+s[i]+"%'");
}
}
String sql="select ar from SysArticle ar where ";
Query query = em.createQuery(sql+sb);
return query.getResultList();
}
第一次发表这类型的文章,以后在项目中遇到的问题 ,学到的东西都会找个时间上来这写写,欢迎各位大虾指教吖。。。。