5.8. 砂暴送葬の高级查询 - 图1

    自定义特殊查询,花式查询,子查询,查关联表等

    Eova中查询条件是可配置的,你可以随便的将某字段设置为条件查询,大部分常规需求基本都能满足。但是需求永远是未知的,奇葩的,那么本技能就是用于解决各种非常规查询:

    • 关联查询:通过查询其它表得到某值,再来过滤当前表的数据
    • 虚拟字段查询:即通过一个DB中不存在的字段,自己在UI上自定义的某Form元素来进行查询过滤
    • 花式查询:即操作当前字段,过滤本表其它兄弟字段
    • 高级查询:区间查询,or 查询,自定义like查询…

    通过元对象业务拦截的查询前置来拓展高级查询:

    1. public class OrderIntercept extends MetaObjectIntercept {
    2. /** * 查询前置 DIY查询条件 */
    3. @Override
    4. public void queryBefore(AopContext ac) throws Exception {
    5. // 追加条件:在现有Query 基础上补充条件
    6. ac.condition = " and id < ?";
    7. ac.params.add(999);
    8. // 覆盖条件:完全覆盖当前Query
    9. // ac.where = " where id < ?";
    10. // ac.params.add(5);
    11. }
    12. }

    技能已经提供,如何去玩各种花样,大家可以自由发挥,Eova不做限制,此时无招胜有招!