專利名稱:一種自定義查詢方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算機技術(shù)領(lǐng)域,或數(shù)據(jù)庫,數(shù)據(jù)持久化,數(shù)據(jù)展現(xiàn),超文本置標(biāo)
語言,自定義查詢模型的定義及實現(xiàn),具體地說是一種自定義查詢方法,。
背景技術(shù):
企業(yè)應(yīng)用中很重要的一部分就是查詢。查詢是指使用查詢條件過濾出各種業(yè)務(wù)數(shù)據(jù)、統(tǒng)計數(shù)據(jù);其中涉及復(fù)雜多變的業(yè)務(wù)數(shù)據(jù),不同的業(yè)務(wù)有不同的數(shù)據(jù)和不同的數(shù)據(jù)類型,進而具有不同的查詢條件和展現(xiàn)方式;即使是同一個業(yè)務(wù),用戶不同(角色不同、職位不同、角度不同等),需要的查詢也不同。要滿足這些需求必須對應(yīng)各種業(yè)務(wù)及不同用戶實現(xiàn)各種查詢。 實現(xiàn)這些查詢的工作非常繁瑣而且工作量巨大;由于需要編寫代碼,用戶很難參與進來。自定義查詢把各種數(shù)據(jù)類型抽象出來,對應(yīng)到相應(yīng)的展現(xiàn)組件,使自由定義各種數(shù)據(jù)的展現(xiàn)名稱、展現(xiàn)方式變得可行,并可靈活定制查詢條件;由于不需要編寫代碼,用戶也能夠參與進來,使得定制的查詢更符合用戶的需求。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種自定義查詢方法。 本發(fā)明所要解決的技術(shù)問題是提供一種可配置的、靈活的、能夠快速定制的自定義查詢,減少企業(yè)應(yīng)用中查詢功能的工作量,使用戶可以參與進來,做出更符合用戶需求的查詢功能。 本發(fā)明的目的是按以下方式實現(xiàn)的,包括以下內(nèi)容
1)是把數(shù)據(jù)類型抽象為兩種直接在界面顯示的類型; 2)把數(shù)據(jù)的展現(xiàn)方式抽象為文本類型、日期類型、日期區(qū)間類型、枚舉類型、復(fù)選框枚舉類型、復(fù)選框數(shù)據(jù)庫查詢類型;把操作符限定為大于、小于、大于等于、小于等于、包含在、相似; 3)建立自定義查詢模型,不需要編寫代碼,只需要在自定義查詢界面中定制、配置查詢即可實現(xiàn)特定的查詢功能; 4)在查詢列表中使用組件適配器調(diào)用系統(tǒng)中已有的功能和組件顯示查詢出的記
錄的詳細(xì)信息,實現(xiàn)了功能重用; 5)同一個查詢可定義不同的查詢模板。 具體步驟如下 1)把數(shù)據(jù)類型抽象為兩種可直接在界面顯示的類型,包括 (1)文本類型把字符串、整數(shù)、長整形、浮點數(shù)等類型抽象為文本類型; (2)鍵值類型、鍵值集合類型 〈1〉把數(shù)據(jù)庫中存儲的是符號或者代碼,而在界面上需要顯示相應(yīng)文字信息的數(shù)據(jù),定義為鍵值類型{鍵值}
把復(fù)選、下拉選擇等則定義為多個鍵值類型的集合,即鍵值集合類型 [{鍵值}, {鍵值}, {鍵值}......] 〈2>鍵值的對應(yīng)關(guān)系采用兩種取值方式
1>使用屬性文件配置,格式為 表名.字段名=鍵1 :值1,鍵2:值2,鍵3:值3...... 2>使用數(shù)據(jù)查詢模板,查詢系統(tǒng)中已有的字典表
表名.字段名.SQL =數(shù)據(jù)庫查詢語句。 2)把數(shù)據(jù)的展現(xiàn)方式抽象為文本類型、日期類型、日期區(qū)間類型、枚舉類型、復(fù)選框枚舉類型、復(fù)選框數(shù)據(jù)庫查詢類型,其中,數(shù)據(jù)類型和數(shù)據(jù)展現(xiàn)方式的對應(yīng)關(guān)系如下
數(shù)據(jù)類型,數(shù)據(jù)展現(xiàn)方式; 文本類型,包括文本類型;日期類型;日期區(qū)間類型; 鍵值類型、鍵值集合類型,包括枚舉類型;復(fù)選框枚舉類型;復(fù)選框數(shù)據(jù)庫查詢類型;文本類型。 3)建立自定義查詢模型,不需要編寫代碼,只需要在自定義查詢界面中定制、配置查詢即可實現(xiàn)特定的查詢功能,自定義查詢模型包括查詢定義模型和列定義模型兩部分;
(1)查詢定義模型結(jié)構(gòu)如下
查詢定義的主鍵; 是否主表;描述;查詢順序;查詢名稱;展現(xiàn)組件;主外鍵名,用于單表或者主從表查詢;備注; (2)列定義模型結(jié)構(gòu)如下 列定義的主鍵;查詢定義的主鍵;描述;列名稱;是否默認(rèn)條件;是否查詢條件;是否查詢顯示;是否排序;列類型;操作符;備注; 使用數(shù)據(jù)類型和展現(xiàn)組件類型,結(jié)合自定義查詢模型創(chuàng)建可視化界面。 4)在查詢列表中使用組件適配器調(diào)用系統(tǒng)中已有的功能和組件顯示查詢出的記
錄的詳細(xì)信息,實現(xiàn)功能重用,組件適配器包含組件注冊器、組件查找器、組件調(diào)用器三個
功能,組件注冊器負(fù)責(zé)注冊系統(tǒng)中已有的組件,形成組件庫;組件查找器根據(jù)定義的查詢中
提供的組件名稱在組件庫中查找組件;組件調(diào)用器負(fù)責(zé)調(diào)用查找到的組件,并把數(shù)據(jù)傳遞
給組件。 5)同一個查詢定義不同的查詢模板,查詢模板保存了定制的查詢除默認(rèn)查詢條件以外的其它查詢條件,是對已定制的查詢的更細(xì)致的進一步的定制。
本發(fā)明的優(yōu)異效果是 (1)自定義查詢是可配置的、靈活的、能夠快速定制的,并且不需要編寫代碼;
(2)明顯減少企業(yè)應(yīng)用中查詢功能的工作量,對系統(tǒng)已有的組件實現(xiàn)了重用。
(3)使用戶可以參與進來,做出更符合用戶需求的查詢功能。
具體實施例方式
包括以下幾個內(nèi)容( — )抽象數(shù)據(jù)類型;是為定義查詢條件服務(wù)的,根據(jù)數(shù)據(jù)在界面上的展現(xiàn)方式把數(shù)據(jù)抽象為以下幾種類型
5
a文本包括字符串、數(shù)字等,直接顯示在頁面中;
b鍵值集合通過下拉框、復(fù)選框、單選框等方式展現(xiàn);
( 二 )建立自定義查詢模型; a建立查詢的持久化模型;定制的查詢需要持久化,以便用戶下次登錄系統(tǒng)時能
夠再次訪問已定制的查詢,其持久化采用數(shù)據(jù)庫存儲的方式。 b查詢的持久化模型包括查詢定義模型和列模型 c查詢定義模型定義了查詢名稱、查詢描述、查詢結(jié)果的展現(xiàn)組件、是單表查詢還 是主從表查詢、備注信息等。 d—個查詢定義對應(yīng)多個列。列模型定義了列名、列描述、列是否為查詢條件、列在 查詢中是否顯示、列類型、列查詢的操作符、備注等。 e列類型定義了某一列作為查詢條件時的展現(xiàn)組件和在查詢結(jié)果列表中顯示值的 取值方式。列類型包括文本類型、鍵值集合類型、日期類型、日期區(qū)間類型、枚舉類型、復(fù)選 框枚舉類型、復(fù)選框數(shù)據(jù)庫查詢類型。 f列查詢的操作符包括大于、小于、大于等于、小于等于、包含在、相似(模糊查 詢)(三)建立自定義查詢可視化界面 使用瀏覽器和服務(wù)器結(jié)構(gòu)建立自定義查詢可視化界面,便于訪問。
(四)定義查詢 在自定義查詢可視化界面的自定義查詢表信息維護中新建一個自定義查詢
1)填寫基本信息,包括如下內(nèi)容
表名,是指要查詢的數(shù)據(jù)表的表名;
描述,是指對要查詢的數(shù)據(jù)表的描述 查詢結(jié)果顯示組件,是指查詢結(jié)果列表中某條記錄的查看展現(xiàn)組件(鏈接)
是否主表,是指要查詢的數(shù)據(jù)表是否主表 表的查詢順序,是指主從表情況填寫,規(guī)則主表值最小,從表值遞增 主外鍵名,是指主表填寫主鍵;從表填寫主外鍵,并以逗號(,)分割 備注查詢的備注信息 2)填寫列信息,包括如下內(nèi)容 列名,要查詢的數(shù)據(jù)表列的列名 描述,對要查詢的數(shù)據(jù)表列的描述 列的查詢順序,查詢結(jié)果列表中某列的顯示順序 是否默認(rèn)條件是否默認(rèn)在查詢條件中顯示 是否查詢條件,如果既是默認(rèn)條件又是查詢條件,在執(zhí)行查詢時會作為查詢條件 直接顯示出來;如果是是查詢條件且不是默認(rèn)條件,則需要在執(zhí)行查詢前選擇,才能在查詢 中顯示此查詢條件。 是否查詢顯示,列是否在查詢結(jié)果列表中顯示
是否排序,是否允許列在查詢結(jié)果列表中排序 列類型,列類型包括文本類型、鍵值集合類型、日期類型、日期區(qū)間類型、枚舉類 型、復(fù)選框枚舉類型、復(fù)選框數(shù)據(jù)庫查詢類型
操作符,查詢時的操作條件操作符,包括大于、小于、大于等于、小于等于、包含在、 相似; 填寫以上信息后,保存。
(五)執(zhí)行查詢 在自定義查詢可視化界面中找到剛才定制的查詢,選擇查詢條件,點擊提交按鈕, 即可轉(zhuǎn)到相應(yīng)的查詢界面;在查詢界面中輸入查詢條件,點擊查詢按鈕后即可看到相應(yīng)的 查詢結(jié)果;選中某條記錄,點擊查看明細(xì)可以查看此記錄更詳細(xì)的信息;點擊導(dǎo)出按鈕,能 夠?qū)⒉樵兘Y(jié)果導(dǎo)出為電子表格。
權(quán)利要求
一種自定義查詢方法,其特征在于,包括以下內(nèi)容1)是把數(shù)據(jù)類型抽象為兩種直接在界面顯示的類型;2)把數(shù)據(jù)的展現(xiàn)方式抽象為文本類型、日期類型、日期區(qū)間類型、枚舉類型、復(fù)選框枚舉類型、復(fù)選框數(shù)據(jù)庫查詢類型;把操作符限定為大于、小于、大于等于、小于等于、包含在、相似;3)建立自定義查詢模型,不需要編寫代碼,只需要在自定義查詢界面中定制、配置查詢即可實現(xiàn)特定的查詢功能;4)在查詢列表中使用組件適配器調(diào)用系統(tǒng)中已有的功能和組件顯示查詢出的記錄的詳細(xì)信息,實現(xiàn)了功能重用;5)同一個查詢可定義不同的查詢模板;具體步驟如下1)把數(shù)據(jù)類型抽象為兩種可直接在界面顯示的類型,包括(1)文本類型把字符串、整數(shù)、長整形、浮點數(shù)等類型抽象為文本類型;(2)鍵值類型、鍵值集合類型<1>把數(shù)據(jù)庫中存儲的是符號或者代碼,而在界面上需要顯示相應(yīng)文字信息的數(shù)據(jù),定義為鍵值類型{鍵值}把復(fù)選、下拉選擇等則定義為多個鍵值類型的集合,即鍵值集合類型[{鍵值},{鍵值},{鍵值}......]<2>鍵值的對應(yīng)關(guān)系采用兩種取值方式1>使用屬性文件配置,格式為表名.字段名=鍵1值1,鍵2值2,鍵3值3......2>使用數(shù)據(jù)查詢模板,查詢系統(tǒng)中已有的字典表表名.字段名.SQL=數(shù)據(jù)庫查詢語句;3)把數(shù)據(jù)的展現(xiàn)方式抽象為文本類型、日期類型、日期區(qū)間類型、枚舉類型、復(fù)選框枚舉類型、復(fù)選框數(shù)據(jù)庫查詢類型,其中,數(shù)據(jù)類型和數(shù)據(jù)展現(xiàn)方式的對應(yīng)關(guān)系如下數(shù)據(jù)類型,數(shù)據(jù)展現(xiàn)方式;文本類型,包括文本類型;日期類型;日期區(qū)間類型;鍵值類型、鍵值集合類型,包括枚舉類型;復(fù)選框枚舉類型;復(fù)選框數(shù)據(jù)庫查詢類型;文本類型;4)建立自定義查詢模型,不需要編寫代碼,只需要在自定義查詢界面中定制、配置查詢即可實現(xiàn)特定的查詢功能,自定義查詢模型包括查詢定義模型和列定義模型兩部分;1)查詢定義模型結(jié)構(gòu)如下查詢定義的主鍵;是否主表;描述;查詢順序;查詢名稱;展現(xiàn)組件;主外鍵名,用于單表或者主從表查詢;備注;2)列定義模型結(jié)構(gòu)如下列定義的主鍵;查詢定義的主鍵;描述;列名稱;是否默認(rèn)條件;是否查詢條件;是否查詢顯示;是否排序;列類型;操作符;備注;使用數(shù)據(jù)類型和展現(xiàn)組件類型,結(jié)合自定義查詢模型創(chuàng)建可視化界面;5)在查詢列表中使用組件適配器調(diào)用系統(tǒng)中已有的功能和組件顯示查詢出的記錄的詳細(xì)信息,實現(xiàn)功能重用,組件適配器包含組件注冊器、組件查找器、組件調(diào)用器三個功能,組件注冊器負(fù)責(zé)注冊系統(tǒng)中已有的組件,形成組件庫;組件查找器根據(jù)定義的查詢中提供的組件名稱在組件庫中查找組件;組件調(diào)用器負(fù)責(zé)調(diào)用查找到的組件,并把數(shù)據(jù)傳遞給組件;6)同一個查詢定義不同的查詢模板,查詢模板保存了定制的查詢除默認(rèn)查詢條件以外的其它查詢條件,是對已定制的查詢的更細(xì)致的進一步的定制。
全文摘要
本發(fā)明提供一種自定義查詢方法,通過靈活的查詢模型、數(shù)據(jù)和展現(xiàn)的分離,可以適應(yīng)用戶復(fù)雜多變的數(shù)據(jù)查詢需求;用戶不用編寫代碼,只需要定制需要查詢的數(shù)據(jù)和需要顯示的數(shù)據(jù),進行少量配置,就可以看到查詢結(jié)果;對界面?zhèn)€性化的需求,只需要安照查詢模型定制新的展現(xiàn)組件,注冊后,將查詢的展現(xiàn)組件修改為此組件即可。本發(fā)明的優(yōu)異效果是(1)自定義查詢是可配置的、靈活的、能夠快速定制的,并且不需要編寫代碼;(2)明顯減少企業(yè)應(yīng)用中查詢功能的工作量,對系統(tǒng)已有的組件實現(xiàn)了重用。(3)使用戶可以參與進來,做出更符合用戶需求的查詢功能。
文檔編號G06F17/30GK101788996SQ20091023043
公開日2010年7月28日 申請日期2009年11月19日 優(yōu)先權(quán)日2009年11月19日
發(fā)明者張勝猛, 蔡衛(wèi)衛(wèi) 申請人:山東浪潮齊魯軟件產(chǎn)業(yè)股份有限公司