999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JSON格式的自定義組合條件查詢設計與實現

2014-10-21 11:09:39封侶
電子世界 2014年12期

【摘要】查詢模塊在軟件系統的開發中屬于基本的必需模塊,條件與對象屬性相對應,而對象屬性與表字段相對應,前臺條件以And或者Or組裝成JSON格式的數據,后臺接受來自于前臺的JSON數據進行一系列處理最終拼接為Hql字符串進而查詢出滿足條件的數據返回給前臺展示。前臺的查詢條件組裝成JSON格式數據借助于ligerui的ligerFilter插件,后臺借助java代碼對JSON格式數據進行處理。由于對象屬性字段與數據表字段的對應采用了Hibernate映射框架,故在程序中對實體對象的操作相當于對數據庫表的操作,這樣簡化了后臺查詢代碼的編寫工作,并且使得查詢代碼易于維護。

【關鍵詞】組合;條件;查詢;JSON;ligerui;ligerFilter;Hibernate;

引言

在如今的企業生產運行中,信息管理系統扮演著重要的作用,不但可以提高企業人員的工作效率,而且還能為企業降本增效,為企業創造更多的價值。企業的工作離不開信息管理系統,而查詢模塊是每一個信息管理系統中必不可少的模塊。由于信息量的不斷膨脹,數據記錄在數據庫中存儲越來越多,對于特定記錄的獲取,通過一個條件往往無法進行準確定位,常常需要2個以上查詢條件的組合來篩選滿足條件的數據記錄[1]。因此查詢功能設計的好壞直接關系到信息管理系統效率的大小以及人機結合密切關系的程度,而且將在很大程度上影響系統的可維護性和可修改性[2]。

查詢模塊如此重要,對它的設計當然需要有合理性、科學性、易用性、易擴展等特點,并且能滿足我們日常的各種查詢需求。鑒于此,借助于基于Jquery的前端UI控件組合ligerui的ligerFilter插件進行自定義組合條件查詢的開發將使得我們的查詢模塊更具有靈活性。

1.自定義組合條件查詢模塊設計思想

在傳統信息管理系統的查詢模塊中,查詢頁面一般包括查詢字段名字以及與其對應的輸入框,一般情況下,此輸入框要么由用戶手工輸入,要么以下拉框形式由用戶選擇,并且頁面字段,后臺代碼基本都是根據最初需求已經固化了。比如客戶最先需求只是由F1、F2字段組成的查詢功能,我們根據用戶需求完成了查詢頁面P1的設計,但是隨著公司業務的發展,客戶有了新的查詢需求,在原有查詢字段基礎上再增加1,2,3…n個字段。此刻你會怎么做?修改P1頁面字段及其對應的后臺查詢代碼嗎?當頁面較少時或許我們能忍受這樣的重復工作,但是當頁面較多時,需求一變,不斷的修改查詢頁面以及后臺代碼是很多開發工程師所不能忍受的。

為了避免如此笨拙的查詢模塊設計出現在系統中,將借助于UI控件ligerui的ligerFilter插件設計出自定義組合條件查詢模塊。以被查詢對象User的字段為數據源生成下拉框(比如姓名、年齡),根據字段類型(字符串型、數字型)生成操作符下拉框(比如相等、大于)和條件輸入框(比如字符串輸入框、數字輸入框),這些條件可以單純的and、or組合,也可以先以分組形式優先級組合然后再與其他條件and、or組合。這些條件組合在前臺封裝成JSON數據傳給后臺,后臺接收JSON數據經過處理轉為條件對象Condition,根據條件對象Condition字段之間的邏輯關系拼接成查詢的Hql字符串,Hibernate映射了被查詢對象User與數據庫中的表user,故根據Hql字符串對User對象的查詢便實現了對數據庫表user的查詢。通過如上設計思想可以看到重點包括如下過程:

(a)JSON封裝。

(b)JSON轉化。

(c)構造查詢的Hql字符串。

下面根據這3個過程進行詳細的實現。

2.自定義組合條件查詢模塊實現過程

2.1 JSON封裝

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,采用文本格式,易于人閱讀和編寫,同時也易于機器解析和生成,是理想的數據交換語言[3]。正因為JSON格式的數據具備這樣的特點,故采用JSON格式的數據在頁面與后臺之間進行交互。

Ligerui是國內的基于Jquery開發的一款優秀的前端開源框架,采用JSON格式作為數據交互的載體,包括一系列的組件:表單、布局、表格等等,這些組件即插即用,需要什么組件,就添加該組件對應的JS文件,借助于ligerui不但能快速開發出界面風格統一的系統,而且由于即插即用特點故頁面的加載速度較快,提高了用戶友好度。Ligerui框架的ligerFilter插件已經實現了前臺查詢條件的JSON封裝,故本著不用重新再造輪子的原則,直接利用ligerFilter插件實現前臺查詢條件的JSON封裝。我們的查詢頁面僅包括必需的JS庫與CSS樣式文件便可,查詢頁面借助于ligerFilter插件構造的條件組合界面如圖1所示:

2.2 JSON轉為JavaBean

3.結論

(1)借助于Ligerui的ligerFilter插件可以方便的實現條件的自定義組合查詢,減少了開發人員對查詢界面的重復設計工作,對JSON數據的組裝工作。

(2)通過基于JSON格式的自定義組合條件查詢可以方便地適應于系統中查詢模塊查詢字段的變更工作,查詢字段變更時,不需要開發人員對查詢界面進行改動,僅僅只需用戶選擇相應字段查詢便可。

(3)通過此設計可以方便的進行報表的各種條件統計,查詢出用戶關心的報表統計信息。

參考文獻

[1]駱力明,陳小兵,王彥麗.數據庫多條件組合查詢優化算法研究[J].首都師范大學學報:自然科學版,2007,28(02):23-27.

[2]趙大偉,陳剛.基于.NET的多條件組合查詢技術的設計與實現[J].電腦知識與技術,2012,08(25):6045-6048.

[3]龔建華.JSON格式數據在Web開發中的應用[J].辦公自動化:綜合月刊,2013(10):46-48.

[4]駱文亮.JSON序列化工具探析[J].信息系統工程,2013(11):15-15.

作者簡介:封侶(1985—),男,大學本科,設計與開發工程師,主要研究方向:J2EE開發。

主站蜘蛛池模板: 无码电影在线观看| 无码又爽又刺激的高潮视频| 日本伊人色综合网| 国产成人亚洲欧美激情| 国产女人在线观看| 国产美女在线免费观看| 国产又粗又猛又爽| 国产区人妖精品人妖精品视频| 丁香综合在线| 国产网站免费看| 久久精品人人做人人综合试看| 亚洲精品成人福利在线电影| 夜精品a一区二区三区| 狠狠做深爱婷婷久久一区| 国产精品女人呻吟在线观看| 亚洲视频影院| 国产91熟女高潮一区二区| 狠狠做深爱婷婷综合一区| 一区二区欧美日韩高清免费| 日韩一二三区视频精品| 热re99久久精品国99热| 精品国产一二三区| 四虎国产在线观看| 亚洲一级色| 久久一本精品久久久ー99| 色噜噜久久| 久久精品嫩草研究院| 中文字幕一区二区人妻电影| 在线欧美日韩国产| 91福利在线观看视频| 国产精品无码久久久久AV| 啪啪国产视频| 最新日本中文字幕| 国产精品福利在线观看无码卡| 亚洲天堂网在线观看视频| 国内精品视频在线| 麻豆精品在线播放| 伊人AV天堂| 国产精品3p视频| 国产成年女人特黄特色毛片免| 成人在线亚洲| 久久情精品国产品免费| 亚洲人成网站18禁动漫无码| 亚洲成人免费在线| 亚洲欧洲自拍拍偷午夜色| 日韩视频福利| 亚洲第一页在线观看| 精品1区2区3区| 国产91精品久久| 亚洲一区二区三区国产精品| 久久永久精品免费视频| 日韩不卡高清视频| 毛片在线播放a| 久久男人资源站| 亚洲AV无码不卡无码| 国产毛片基地| 国产一区成人| 欧美成人一级| 91亚洲视频下载| 亚洲国产日韩欧美在线| 18禁黄无遮挡网站| 在线亚洲精品福利网址导航| 91成人精品视频| 午夜一级做a爰片久久毛片| 黄色三级网站免费| 亚洲国产成人无码AV在线影院L| 免费人成视网站在线不卡| 亚洲国产无码有码| 五月天在线网站| 欧美在线网| 77777亚洲午夜久久多人| 欧美另类精品一区二区三区| 日韩精品专区免费无码aⅴ| 亚洲第一视频网站| 欧美成人精品高清在线下载| 色天天综合| 欧洲亚洲欧美国产日本高清| 被公侵犯人妻少妇一区二区三区| 欧美日韩免费观看| 欧美三级日韩三级| 久久国产黑丝袜视频| 嫩草影院在线观看精品视频|