计算机系统应用教程网站

网站首页 > 技术文章 正文

开启灵活开发编码模式:规则引擎drools——高级语法

btikc 2024-11-16 17:20:55 技术文章 1 ℃ 0 评论

本节继续来看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是为了方便自定义一些函数,调用的时候使用

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表