有兩種方法可以從引擎中查詢資料:查詢api和原生查詢。查詢api提供了完全型別安全的api。 你可以為自己的查詢條件新增很多條件 (所以條件都以and組合)和精確的排序條件。下面的**展示了乙個例子:
有時,你需要更強大的查詢,比如使用or條件或不能使用查詢api實現的條件。 這時,我們推薦原生查詢,它讓你可以編寫自己的sql查詢。 返回型別由你使用的查詢物件決定,資料會對映到正確的物件上。比如,任務,流程例項,,執行,等等。 因為查詢會作用在資料庫上,你必須使用資料庫中定義的表名和列名;這要求了解內部資料結構, 因此使用原生查詢時一定要注意。表名可以通過api獲得,可以儘量減少對資料庫的依賴。list
<
task
>
tasks
=taskservice
.createtaskquery().
taskassignee
("kermit").
processvariablevalueequals
("orderid"
,"0815").
orderbyduedate
().asc().
list
();
.parameter("form_no", formcode).parameter("username", username+"%")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())
.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...