Activiti 條件查詢

2021-08-20 01:48:54 字數 1899 閱讀 1211

有兩種方法可以從引擎中查詢資料:查詢api和原生查詢。查詢api提供了完全型別安全的api。 你可以為自己的查詢條件新增很多條件 (所以條件都以and組合)和精確的排序條件。下面的**展示了乙個例子:

list

<

task

>

tasks

=taskservice

.createtaskquery().

taskassignee

("kermit").

processvariablevalueequals

("orderid"

,"0815").

orderbyduedate

().asc().

list

();

有時,你需要更強大的查詢,比如使用or條件或不能使用查詢api實現的條件。 這時,我們推薦原生查詢,它讓你可以編寫自己的sql查詢。 返回型別由你使用的查詢物件決定,資料會對映到正確的物件上。比如,任務,流程例項,,執行,等等。 因為查詢會作用在資料庫上,你必須使用資料庫中定義的表名和列名;這要求了解內部資料結構, 因此使用原生查詢時一定要注意。表名可以通過api獲得,可以儘量減少對資料庫的依賴。

list

<

task

>

tasks

=taskservice

.createnativetaskquery().

sql(

"select * from "

+managementservice

.gettablename

(task

.class)+

" t where t.name_ = #").

parameter

("taskname"

,"gonzotask").

list

();long

count

=taskservice

.createnativetaskquery().

sql(

"select count(*) from "

+managementservice

.gettablename

(task

.class)+

" t1, "

+managementservice

.gettablename

(variableinstanceentity

.class)+

" v1 where v1.task_id_ = t1.id_").

count

();例項:

stringbuffer wheresql = new stringbuffer();

string ua = "";string ub="";

if(formcode!=null)

if(this.username!=null)

tasks = taskservice

.createnativetaskquery()

.sql("select * from "

+ managementservice.gettablename(task.class)

+ " t,flow_ru_info fi"+ua+" where t.proc_inst_id_=fi.processinstanceid "+ub+"and t.assignee_=#"

+ wheresql +" order by t.create_time_ desc "

).parameter("userid", user.getuserid())

.parameter("form_no", formcode).parameter("username", username+"%")

.list();

條件查詢 後台查詢條件

將要查詢的條件放到乙個物件裡,然後查詢的字段放到物件中 下面上 布局部分 要查詢的表單部分 重 置查詢按鈕 查 詢c that.getlist 邏輯 部分查詢然後,因為會涉及到獲取時間的列表,這裡做了處理,上一節也有說過,然後賦值給查詢物件。獲取員工資料 getlist else that.axio...

Activiti 查詢歷史流程例項

使用者和管理員有時候需要統計,有多少個業務例項通過了審核,這個時候需要查詢指定流程下的已完成的流程例項,用做後期的統計 public map processstate requestparam integer num,requestparam string processdefinitionkey,...

HBase條件查詢(多條件查詢)

author pirate leo myblog myemail codeevoship gmail.com 文中可能涉及到的api hadoop hdfs hbase begin!hbase的查詢實現只提供兩種方式 1 按指定rowkey獲取唯一一條記錄,get方法 org.apache.hado...