打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
规则引擎 Drools(八):运行时组件 Query

Query 利用了 Drools 强大的模式匹配特性,从会话中获取信息。结构上,Query 只有 LHS 没有 RHS,支持使用参数来控制 LHS 条件。

Query 提供了两种查询方式:

  • 按需查询
  • 实时查询

示例

数据模型 Java 代码:

public class Person {    private String name;    private String sex;    private Integer age;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }}

DRL:

query "girls" (Integer $age)      $girl: Person(sex == "female", age > $age)end  

按需查询 Java 代码:

QueryResults queryResults = ksession.getQueryResults("girls", 18);  for (QueryResultsRow row: queryResults) {      Person girl = (Person) row.get("$girl");    System.out.println(girl.getName());}

实时查询 Java 代码:

ksession.openLiveQuery("girls", new Object[]{18}, new ViewChangedEventListener() {      public void rowInserted(Row row) {        Person girl = (Person) row.get("$girl");        System.out.println(girl.getName());    }    public void rowDeleted(Row row) {}    public void rowUpdated(Row row) {}});ksession.fireAllRules();  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
JPA中jpql常用方法
SpringBoot非官方教程 | 第二十五篇:2小时学会springboot
Student
Java 根据年月日精确计算年龄
Drools 学习笔记
读取Guvnor中的规则...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服