/**
* 根据关键字获取[相关资讯]列表
* WHERE
* DELETED = ?
* AND STATE = ?
* AND ( KEYWORDS LIKE '%aaa%' or TITLE '%aaa%' ) OR ( KEYWORDS LIKE '%bbb%' or TITLE '%bbb%' );
*
* @param keywords
* @return
*/
public Pager getInformationListByKeywords(String keywords, Pager pager) {
Condition condition = new Condition(Information.class);
if (!StringUtil.isEmpty(keywords)) {
String keyArray[] = keywords.trim().split(",|,");
for (int i = 0; i < keyArray.length; i++) {
Criteria criteria = condition.or();
criteria
.andEqualTo("deleted", 0)
.andEqualTo("state", InformationState.STATE_PUBLHISHED)
.andEqualTo("source", getSOURCE())
.andLike("keywords", "%" + keyArray[i] + "%");
Criteria criteria2 = condition.or();
criteria2.andEqualTo("deleted", 0)
.andEqualTo("state", InformationState.STATE_PUBLHISHED)
.andEqualTo("source", getSOURCE())
.andLike("title", "%" + keyArray[i] + "%");
}
} else {
Criteria criteria = condition.or();
criteria
.andEqualTo("deleted", 0)
.andEqualTo("source", getSOURCE())
.andEqualTo("state", InformationState.STATE_PUBLHISHED);
}
condition.setOrderByClause("publish_time desc");
pager.setResult(this.selectPage(condition, pager.getPageNo(), pager.getPageSize()));
pager.setTotalRows(this.countByCondition(condition));
return pager;
}
mybatis OR语句的写法
最新推荐文章于 2025-03-09 23:46:58 发布