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開發。

主站蜘蛛池模板: 九九九国产| 亚洲伦理一区二区| 美女被狂躁www在线观看| yjizz国产在线视频网| 色偷偷综合网| 国产91麻豆视频| 97影院午夜在线观看视频| 国产成人精品综合| 九九九久久国产精品| 精品国产aⅴ一区二区三区| 99这里只有精品6| 福利小视频在线播放| 欧美激情综合一区二区| 国模沟沟一区二区三区| 亚洲成a人片在线观看88| 日韩福利视频导航| 免费在线一区| 欧洲亚洲一区| 国产人人乐人人爱| 亚洲视频欧美不卡| 欧美在线视频a| 欧美亚洲国产一区| 免费高清毛片| 欧美亚洲日韩中文| 一级毛片在线播放免费| 日韩欧美视频第一区在线观看| 九九香蕉视频| 91在线无码精品秘九色APP| 国产精品网址你懂的| 又猛又黄又爽无遮挡的视频网站| 日韩精品毛片| 欧美日韩国产在线人| 在线精品视频成人网| 一级做a爰片久久毛片毛片| 精品国产乱码久久久久久一区二区| 久久青草精品一区二区三区 | a欧美在线| 国产欧美性爱网| 国产精品粉嫩| 无码一区18禁| 2021精品国产自在现线看| 色老头综合网| 欧美伊人色综合久久天天| 视频二区中文无码| 成人在线欧美| 精品国产污污免费网站| 亚洲婷婷六月| 538精品在线观看| 日本道综合一本久久久88| 亚洲不卡av中文在线| 国产99久久亚洲综合精品西瓜tv| 成人无码区免费视频网站蜜臀| 97se亚洲综合在线韩国专区福利| 免费一级α片在线观看| 四虎AV麻豆| 伊人大杳蕉中文无码| 精品欧美日韩国产日漫一区不卡| 无码高潮喷水在线观看| 综合色天天| 久久精品国产亚洲麻豆| 国产成人亚洲欧美激情| 午夜日本永久乱码免费播放片| 欧美区在线播放| 中文字幕乱码二三区免费| AV熟女乱| 五月丁香在线视频| 国产精品观看视频免费完整版| 亚洲男人的天堂网| 国产十八禁在线观看免费| 五月婷婷精品| 亚洲男人的天堂网| 亚洲第一色网站| www.精品视频| 在线观看国产精品第一区免费| WWW丫丫国产成人精品| 久久人午夜亚洲精品无码区| 国产精品三级av及在线观看| 99999久久久久久亚洲| 国产在线精品人成导航| 精品三级网站| 国产在线自揄拍揄视频网站| 日韩在线成年视频人网站观看|