自定义特殊查询,花式查询,子查询,查关联表等
Eova中查询条件是可配置的,你可以随便的将某字段设置为条件查询,大部分常规需求基本都能满足。但是需求永远是未知的,奇葩的,那么本技能就是用于解决各种非常规查询:
- 关联查询:通过查询其它表得到某值,再来过滤当前表的数据
- 虚拟字段查询:即通过一个DB中不存在的字段,自己在UI上自定义的某Form元素来进行查询过滤
- 花式查询:即操作当前字段,过滤本表其它兄弟字段
- 高级查询:区间查询,or 查询,自定义like查询…
通过元对象业务拦截的查询前置来拓展高级查询:
public class OrderIntercept extends MetaObjectIntercept {
/** * 查询前置 DIY查询条件 */
@Override
public void queryBefore(AopContext ac) throws Exception {
// 追加条件:在现有Query 基础上补充条件
ac.condition = " and id < ?";
ac.params.add(999);
// 覆盖条件:完全覆盖当前Query
// ac.where = " where id < ?";
// ac.params.add(5);
}
}
技能已经提供,如何去玩各种花样,大家可以自由发挥,Eova不做限制,此时无招胜有招!