image.png
封裝PageBean
封裝一個(gè)查詢(xún)方法
我們期望的是它查詢(xún)數(shù)據(jù)庫(kù)的方式是
select count(*) from bc_staff;
但是現(xiàn)在它查詢(xún)數(shù)據(jù)庫(kù)的方式是
select * from bc_staff;
,顯然這不符合要求.所以我們要設(shè)置hibernate查詢(xún)數(shù)據(jù)的方式:
detachedCriteria.setProjection(Projections.rowCount());
//指定hibernate框架發(fā)出sql的形式----》select count(*) from bc_staff;
List<Long> countList = (List<Long>) this.getHibernateTemplate().findByCriteria(detachedCriteria);
對(duì)于查詢(xún)r(jià)ows,我們期望查詢(xún)的sql語(yǔ)句是select * from bc_staff limit ?,?;
所以需要重新設(shè)置查詢(xún)條件,因?yàn)樯厦嬉呀?jīng)規(guī)定了,sql的查詢(xún)方式是聚合查詢(xún)(返回值是Long類(lèi)型);
所以現(xiàn)在我們需要把查詢(xún)條件設(shè)為null,回到原始的狀態(tài):
detachedCriteria.setProjection(null);
//指定hibernate框架發(fā)出sql的形式----》select * from bc_staff;
有關(guān)索引的解釋
頁(yè)面post提交的參數(shù)
所以,需要我們把參數(shù)
添加到PageBean中去
Action
然后在創(chuàng)建離線(xiàn)查詢(xún)對(duì)象,
接著,調(diào)用service.pageQuery();.......在Impl里面調(diào)用dao.pageQuery();
完事以后,我們需要將PageBean對(duì)象轉(zhuǎn)為json,通過(guò)輸出流寫(xiě)回頁(yè)面中.
現(xiàn)在我們采用這種方式回顯,之前我們采用的是gson,或者Redis里面的回顯方式.現(xiàn)在我們使用json-lib來(lái)講PageBean對(duì)象轉(zhuǎn)為json對(duì)象
現(xiàn)在我們來(lái)熟悉json-lib的常用參數(shù)
JSONObject--將單一對(duì)象轉(zhuǎn)為json
JSONArray--將數(shù)組或者集合對(duì)象轉(zhuǎn)為json
JSON測(cè)試類(lèi)
獲得json對(duì)象后,我們希望它以輸出流的方式回顯到頁(yè)面中.
dabug測(cè)試
調(diào)出的json對(duì)象,我們發(fā)現(xiàn)除了total,和rows,往回寫(xiě)有多余的東西.