一種基于ssh框架通用分頁查詢方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明適用于JAVA?SSH框架下的數(shù)據(jù)分頁查詢,提供了一種基于SSH框架通用分頁查詢方法及系統(tǒng),該方法包括如下步驟:Web前端將查詢條件進行map封裝,并通過表單提交的方式發(fā)送到后臺服務(wù)器;后臺服務(wù)器通過Hibernate的查詢接口criteria進行分頁查詢,并將查詢結(jié)果反饋至web前端;前端樣式配置通過js自定義標(biāo)簽及struts2搭建分頁顯示基本架構(gòu),當(dāng)分頁刷新時判斷分頁顯示所選擇的樣式進行顯示。本發(fā)明能省去不同頁面在查詢分頁時進行的差異操作,而且使項目代碼更加簡潔,架構(gòu)更加清晰,前端分頁風(fēng)格多變,可根據(jù)需求更換分頁的樣式皮膚。
【專利說明】—種基于SSH框架通用分頁查詢方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及JAVA SSH框架下的數(shù)據(jù)分頁查詢,尤其涉及一種基于SSH框架通用分頁查詢方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著分頁需求的日益增多,所需分頁展示樣式及數(shù)據(jù)的多樣化,一般的分頁方式代碼復(fù)用率低,開發(fā)效率不高,代碼結(jié)構(gòu)雜亂無章,給項目開發(fā)及維護帶來了極大的不便。當(dāng)項目對數(shù)據(jù)庫數(shù)據(jù)行表格進顯示時,有時不需要將數(shù)據(jù)一次性將數(shù)據(jù)查出顯示,或為了提高數(shù)據(jù)查詢速度而提出了對數(shù)據(jù)進行分頁查詢,從純數(shù)據(jù)的角度查詢返回指定范圍的數(shù)據(jù)也需要分頁。綜上可知,現(xiàn)有技術(shù)在實際使用上顯然存在不便與缺陷,所以有必要加以改進。
【發(fā)明內(nèi)容】
[0003]針對上述的缺陷,本發(fā)明的目的在于提供一種基于SSH框架通用分頁查詢方法及系統(tǒng)。其省去不同頁面在查詢分頁時進行的差異操作,而且使項目代碼更加簡潔,架構(gòu)更加清晰,前端分頁風(fēng)格多變,可根據(jù)需求更換分頁的樣式皮膚。
[0004]為了實現(xiàn)上述目的,本發(fā)明提供一種基于SSH框架通用分頁查詢方法,所述方法包括如下步驟:
[0005]Web前端將查詢條件進行map封裝,并通過表單提交的方式發(fā)送到后臺服務(wù)器;
[0006]后臺服務(wù)器通過Hibernate的查詢接口 criteria進行分頁查詢,并將查詢結(jié)果反饋至web前端;
[0007]前端樣式配置通過js自定義標(biāo)簽及struts搭建分頁顯示基本架構(gòu),當(dāng)分頁刷新時判斷分頁顯示所選擇的樣式進行顯示。
[0008]根據(jù)本發(fā)明的方法,Web前端將查詢條件進行map封裝的步驟包括:將web前端頁面用到的分頁參數(shù)信息以鍵值對的形式存放到Map集合中,分頁參數(shù)信息包括:記錄總數(shù)、記錄當(dāng)前頁、每頁顯示的條數(shù)、總頁數(shù)。
[0009]根據(jù)本發(fā)明的方法,“后臺服務(wù)器通過Hibernate的查詢接口 criteria進行分頁查詢”的步驟包括:
[0010]根據(jù)所傳的map條件、當(dāng)前頁變量以及每頁記錄條數(shù)查詢出符合條件的記錄和記錄條數(shù)。
[0011 ] 根據(jù)本發(fā)明的方法,“前端樣式配置通過js自定義標(biāo)簽及struts2搭建分頁顯示基本架構(gòu)”的步驟包括:
[0012]前端引入可選擇的各種css樣式文件以展示各種風(fēng)格,及已經(jīng)封裝分頁展示標(biāo)簽的js文件包以用于選擇前端分頁的樣式。
[0013]本發(fā)明相應(yīng)提供一種基于SSH框架通用分頁查詢系統(tǒng),所述系統(tǒng)包括web前端以及后臺服務(wù)器,所述web前端包括:[0014]封裝模塊,用于將查詢條件進行map封裝;
[0015]提交模塊,通過表單提交的方式將封裝后的查詢條件發(fā)送到后臺服務(wù)器;
[0016]樣式配置模塊,用于通過js自定義標(biāo)簽及struts〗搭建分頁顯示基本架構(gòu),當(dāng)分頁刷新時判斷分頁顯示所選擇的樣式進行顯示,
[0017]后臺服務(wù)器包括分頁查詢模塊,其通過Hibernate的查詢接口 criteria進行分頁查詢,并將查詢結(jié)果反饋至web前端。
[0018]根據(jù)本發(fā)明的系統(tǒng),所述封裝模塊還用于將web前端頁面用到的分頁參數(shù)信息以鍵值對的形式存放到Map集合中,分頁參數(shù)信息包括:記錄總數(shù)、記錄當(dāng)前頁、每頁顯示的條數(shù)、總頁數(shù)。
[0019]根據(jù)本發(fā)明的系統(tǒng),分頁查詢模塊用于根據(jù)所傳的map條件、當(dāng)前頁變量以及每頁記錄條數(shù)查詢出符合條件的記錄和記錄條數(shù)。
[0020]根據(jù)本發(fā)明的系統(tǒng),樣式配置模塊用于引入可選擇的各種css樣式文件以展示各種風(fēng)格,及已經(jīng)封裝分頁展示標(biāo)簽的js文件包以用于選擇前端分頁的樣式。
[0021]本發(fā)明通過Web前端將查詢條件進行map封裝,并通過表單提交的方式發(fā)送到后臺服務(wù)器;后臺服務(wù)器通過Hibernate的查詢接口 criteria進行分頁查詢,并將查詢結(jié)果反饋至web前端;前端樣式配置通過js自定義標(biāo)簽及strutS2搭建分頁顯示基本架構(gòu),當(dāng)分頁刷新時判 斷分頁顯示所選擇的樣式進行顯示。條件map對象及查出數(shù)據(jù)對象均為Object對象,實現(xiàn)分頁對于各種對象的通用性;本發(fā)明的部屬引用方式為將通過Hibernate的查詢接口 criteria分頁查詢的公共代碼部分及實現(xiàn)框架方法封裝到類中,需要是用分頁展示的類對象存取類只需繼承該類然后實現(xiàn)繼承方法對查詢參數(shù)map、頁數(shù)以及每頁記錄數(shù)進行處理返回查詢到的記錄數(shù)及記錄條數(shù)。前端樣式配置通過js自定義標(biāo)簽及struts搭建分頁顯示基本架構(gòu),當(dāng)分頁刷新時判斷分頁顯示所選擇的樣式進行顯示。從而,本發(fā)明能省去不同頁面在查詢分頁時進行的差異操作,而且使項目代碼更加簡潔,架構(gòu)更加清晰,前端分頁風(fēng)格多變,可根據(jù)需求更換分頁的樣式皮膚。
【專利附圖】
【附圖說明】
[0022]圖1是本發(fā)明一種基于SSH框架通用分頁查詢系統(tǒng)的框架圖;
[0023]圖2是本發(fā)明一種基于SSH框架通用分頁查詢方法的流程圖;
[0024]圖3是本發(fā)明一種實施例中后臺服務(wù)器進行分頁查詢的流程圖。
【具體實施方式】
[0025]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0026]如圖1所不,本發(fā)明一種基于SSH框架通用分頁查詢系統(tǒng),包括web前端10以及后臺服務(wù)器20。web前端10包括封裝模塊11、提交模塊12以及樣式配置模塊13 ;后臺服務(wù)器20包括分頁查詢模塊21。
[0027]封裝模塊11用于將查詢條件進行map封裝。Map用于存儲元素對(稱作“鍵”和“值”),其中每個鍵映射到一個值。封裝模塊11將前端頁面用到的分頁參數(shù)信息(記錄總數(shù)、記錄當(dāng)前頁、每頁顯示的條數(shù)、總頁數(shù)等參數(shù)信息)以鍵值對的形式存放到Map集合中。
[0028]提交模塊12用于通過表單提交的方式將封裝后的查詢條件發(fā)送到后臺服務(wù)器20。具體的,提交模塊12可通過表單提交或參數(shù)傳遞多種方式將分頁信息參數(shù)傳遞給后臺服務(wù)器20。
[0029]樣式配置模塊13用于通過js自定義標(biāo)簽及struts〗搭建分頁顯示基本架構(gòu),當(dāng)分頁刷新時判斷分頁顯示所選擇的樣式進行顯示。樣式配置模塊13用于引入可選擇的各種css樣式文件以展示各種風(fēng)格,及已經(jīng)封裝分頁展示標(biāo)簽的js文件包以用于選擇前端分頁的樣式。js自定義標(biāo)簽通過引入或嵌入的方式直接嵌套在需要分頁的頁面中。Struts是一個開源項目,它通過采用JavaServlet/JSP技術(shù),實現(xiàn)了基于JavaEE WEB應(yīng)用的MVC設(shè)計模式的應(yīng)用框架,是MVC經(jīng)典設(shè)計模式中的一個經(jīng)典產(chǎn)品。
[0030]當(dāng)分頁刷新時判斷分頁顯示所選擇的樣式進行顯示,具體由web前端10和后臺服務(wù)器20自商定的協(xié)議規(guī)則,由web前端10進行規(guī)則判定處理。
[0031]另外,樣式配置模塊13可對每頁顯示的記錄數(shù)進行動態(tài)配置,以文本框跳轉(zhuǎn)或下拉框選擇的數(shù)字等多種形式進行頁面數(shù)據(jù)條數(shù)的設(shè)置,并將條數(shù)信息進行保存。
[0032]分頁查詢模塊21其通過Hibernate的查詢接口 criteria進行分頁查詢,并將查詢結(jié)果反饋至web前端。具體的,分頁查詢模塊21根據(jù)web前端10所傳的map條件、當(dāng)前頁變量以及每頁記錄條數(shù)查詢出符合條件的記錄和記錄條數(shù)。而且條件map對象及查出數(shù)據(jù)對象均為Object對象,實現(xiàn)分頁對于各種對象的通用性。分頁的參數(shù)信息值(當(dāng)前頁變量、每頁記錄條數(shù)燈)通過web前端10傳遞到后臺服務(wù)器后,由數(shù)據(jù)庫保存。
[0033]Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate 的核心接 P 一共有 6 個,分別為:Session、SessionFactory> Transaction、Query> Criteria 和 Configuration。查詢接口(org.hibernate.Criteria)Criteria 完全封裝了基于字符串形式的查詢語句,更加面向?qū)ο?,擅長執(zhí)行動態(tài)查詢,即參數(shù)查詢。
[0034]本發(fā)明將整個分頁分為后臺數(shù)據(jù)查詢與前端樣式配置兩部分。分別對數(shù)據(jù)分頁查詢與前端分頁顯示樣式進行設(shè)計,而后進行統(tǒng)一配置。而且條件map對象及查出數(shù)據(jù)對象均為Object對象,實現(xiàn)分頁對于各種對象的通用性。本發(fā)明的部屬引用方式為將通過Hibernate的查詢接口 criteria分頁查詢的公共代碼部分及實現(xiàn)框架方法封裝到類中,需要是用分頁展示的類對象存取類只需繼承該類然后實現(xiàn)繼承方法對查詢參數(shù)map、頁數(shù)以及每頁記錄數(shù)進行處理返回查詢到的記錄數(shù)及記錄條數(shù)。本發(fā)明省去不同對象查詢分頁時進行的差異操作,而且使項目代碼更加簡潔,架構(gòu)更加清晰,前端分頁風(fēng)格多變,可根據(jù)需求更換分頁的樣式皮膚。
[0035]圖2是本發(fā)明一種基于SSH框架通用分頁查詢方法的流程圖,該方法通過如圖1所示的系統(tǒng)實現(xiàn),所述方法包括如下步驟:
[0036]步驟S201,Web前端將查詢條件進行map封裝,并通過表單提交的方式發(fā)送到后臺服務(wù)器。本步驟通過封裝模塊11、提交模塊12實現(xiàn)。
[0037]步驟S202,后臺服務(wù)器通過Hibernate的查詢接口 criteria進行分頁查詢,并將查詢結(jié)果反饋至web前端。本步驟通過后臺服務(wù)器20的分頁查詢模塊21實現(xiàn)。
[0038]步驟S203,前端樣式配置通過js自定義標(biāo)簽及struts2搭建分頁顯示基本架構(gòu),當(dāng)分頁刷新時判斷分頁顯示所選擇的樣式進行顯示。本步驟通過前段樣式配置模塊13實現(xiàn)。
[0039]優(yōu)選的是,步驟S02還包括:根據(jù)所傳的map條件、當(dāng)前頁變量以及每頁記錄條數(shù)查詢出符合條件的記錄和記錄條數(shù)。
[0040]優(yōu)選的是,步驟S03還包括:前端引入可選擇的各種css樣式文件以展示各種風(fēng)格,及已經(jīng)封裝分頁展示標(biāo)簽的js文件包以用于選擇前端分頁的樣式。
[0041]圖3是本發(fā)明一種實施例中后臺服務(wù)器進行分頁查詢的流程圖。該流程包括:
[0042]步驟S301,獲取條件map、頁碼以及每頁記錄數(shù)。
[0043]步驟S302,判斷數(shù)據(jù)是否有效。若是則進入步驟S303,否則回到步驟S301。
[0044]步驟S303,根據(jù)條件查詢數(shù)據(jù),并保存map條件。本步驟完成后若需要進行下一頁的查詢則回到步驟S301,若不需下一頁的查詢則結(jié)束。
[0045]本發(fā)明在項目總體配置上通過spring在后臺注入數(shù)據(jù)查詢實體對象,當(dāng)需要查詢時,直接使用注入的對象,并將查詢結(jié)果傳到頁面上。Spring是一種輕量級的開源框架,框架的主要優(yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時為JavaEE應(yīng)用程序開發(fā)提供集成的框架。Spring提出了依賴注入的思想,即依賴類不由程序員實例化,而是通過Spring容器幫我們new指定實例并且將實例注入到需要該對象的類中。依賴注入的另一種說法是“控制反轉(zhuǎn)”,通俗的理解是:平常我們new —個實例,這個實例的控制權(quán)是我們程序員,而控制反轉(zhuǎn)是指new實例工作不由我們程序員來做而是交給spring容器來做。Spring的注入方式包括set注入、構(gòu)造器注入、靜態(tài)工廠的方法注入、實例工廠的方法注入等。
[0046]當(dāng)然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
【權(quán)利要求】
1.一種基于SSH框架通用分頁查詢方法,其特征在于,所述方法包括如下步驟: Web前端將查詢條件進行map封裝,并通過表單提交的方式發(fā)送到后臺服務(wù)器; 后臺服務(wù)器通過Hibernate的查詢接口 criteria進行分頁查詢,并將查詢結(jié)果反饋至web前端; 前端樣式配置通過js自定義標(biāo)簽及struts搭建分頁顯示基本架構(gòu),當(dāng)分頁刷新時判斷分頁顯示所選擇的樣式進行顯示。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,Web前端將查詢條件進行map封裝的步驟包括:將web前端頁面用到的分頁參數(shù)信息以鍵值對的形式存放到Map集合中,分頁參數(shù)信息包括:記錄總數(shù)、記錄當(dāng)前頁、每頁顯示的條數(shù)、總頁數(shù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,“后臺服務(wù)器通過Hibernate的查詢接口criteria進行分頁查詢”的步驟包括: 根據(jù)所傳的map條件、當(dāng)前頁變量以及每頁記錄條數(shù)查詢出符合條件的記錄和記錄條數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,“前端樣式配置通過js自定義標(biāo)簽及struts2搭建分頁顯示基本架構(gòu)”的步驟包括: 前端引入可選擇的各種css樣式文件以展示各種風(fēng)格,及已經(jīng)封裝分頁展示標(biāo)簽的js文件包以用于選擇前端分頁的樣式。
5.一種基于SSH框架通用分頁查詢系統(tǒng),其特征在于,所述系統(tǒng)包括web前端以及后臺服務(wù)器,所述web前端包括: 封裝模塊,用于將查詢條件進行map封裝; 提交模塊,通過表單提交的方式將封裝后的查詢條件發(fā)送到后臺服務(wù)器; 樣式配置模塊,用于通過js自定義標(biāo)簽及struts2搭建分頁顯示基本架構(gòu),當(dāng)分頁刷新時判斷分頁顯示所選擇的樣式進行顯示, 后臺服務(wù)器包括分頁查詢模塊,其通過Hibernate的查詢接口 criteria進行分頁查詢,并將查詢結(jié)果反饋至web前端。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述封裝模塊還用于將web前端頁面用到的分頁參數(shù)信息以鍵值對的形式存放到Map集合中,分頁參數(shù)信息包括:記錄總數(shù)、記錄當(dāng)前頁、每頁顯示的條數(shù)、總頁數(shù)。
7.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,分頁查詢模塊用于根據(jù)所傳的map條件、當(dāng)前頁變量以及每頁記錄條數(shù)查詢出符合條件的記錄和記錄條數(shù)。
8.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,樣式配置模塊用于引入可選擇的各種css樣式文件以展示各種風(fēng)格,及已經(jīng)封裝分頁展示標(biāo)簽的js文件包以用于選擇前端分頁的樣式。
【文檔編號】G06F9/44GK103984549SQ201410203621
【公開日】2014年8月13日 申請日期:2014年5月14日 優(yōu)先權(quán)日:2014年5月14日
【發(fā)明者】陳鵬飛 申請人:上海上訊信息技術(shù)股份有限公司