本节继续来看drools的高级语法:query 和function函数。
query(一)
- ① 介绍
query查询提供了一种查询working memory中符合约束条件的Fact对象的简单方法。它仅包含规则文件中的LHS部分,不用指定“when”和“then”部分并且以end结束。
- ② 语法结构
query 查询的名称(可选参数)
LHS
end
- ③ java调用类
不仅仅返回fact的对象的数量,还能具体地返回这fact。通过遍历的方式可以取到。
第一个查询没有参数,第二个查询里面有参数的。kieSession.getQueryResults(“query_2”,“王五”); 这个方式就是传递参数,可以传递多个。
function(二)
- ① 介绍
function关键字用于在规则文件中定义函数,就相当于java类中的方法一样。可以在规则体中调用定义的函数。使用函数的好处是可以将业务逻辑集中放置在一个地方,根据需要可以对函数进行修改
- ② 语法结构
function 返回值类型 函数名(可选参数){
//逻辑代码
}
- ③ 调用步骤
function.drl
编写单元测试
PS:本节讲述的内容主要是query查询内存中的对象,function是为了方便自定义一些函数,调用的时候使用
本文暂时没有评论,来添加一个吧(●'◡'●)