SQL语句:
SELECT * FROM t_match WHERE (yyyymmdd = "20201010") AND (homeName LIKE "%FC%" OR guestName LIKE "%FC%");
解释:
在匹配到’yyyymmdd’字段数据为’20201010’的条件基础上,定义第二个条件,第二个条件就是homeName字段模糊匹配"FC"字符,或guestName字段模糊匹配"FC"字符.
BeetlSQL的实现:
格式:Query实例化对象.andEq("AND条件字段名", AND条件数值).and(sqlManager实例化对象.query(实体类名.class).orLike("OR条件1的字段名", "OR条件1的数值").orLike("OR条件2的字段名", "OR条件2的数值"));
注意:此处的’and()'方法内的参数便是基于前者必须条件(AND)基础上的第二条件.其中"orLike()"方法为第二条件的或者模糊匹配条件.
Java代码如下:
@Override
public PageResult findPageInQueryOfMysql(int currentPage, int pageSize, String emp,String pageDate) {
org.beetl.sql.core.query.Query<MatchsInfo> queryObj = sqlManagerObj.query(MatchsInfo.class);
PageQuery<MatchsInfo> pageQueryObj = null;
if (empArr[0].equals("ranks")) pageQueryObj=queryObj.andEq("yyyymmdd", pageDate).and(sqlManagerObj.query(MatchsInfo.class).orLike("homeName", "%"+empArr[1]+"%").orLike("homeName", "%"+empArr[1]+"%")).page(currentPage, pageSize);
List<MatchsInfo> list = pageQueryObj.getList();
return new PageResult(pageQueryObj.getList(), pageQueryObj.getTotalPage(), currentPage);
}