image.png
封装PageBean
封装一个查询方法
我们期望的是它查询数据库的方式是
select count(*) from bc_staff;
但是现在它查询数据库的方式是
select * from bc_staff;
,显然这不符合要求.所以我们要设置hibernate查询数据的方式:
detachedCriteria.setProjection(Projections.rowCount());
//指定hibernate框架发出sql的形式----》select count(*) from bc_staff;
List<Long> countList = (List<Long>) this.getHibernateTemplate().findByCriteria(detachedCriteria);
对于查询rows,我们期望查询的sql语句是select * from bc_staff limit ?,?;
所以需要重新设置查询条件,因为上面已经规定了,sql的查询方式是聚合查询(返回值是Long类型);
所以现在我们需要把查询条件设为null,回到原始的状态:
detachedCriteria.setProjection(null);
//指定hibernate框架发出sql的形式----》select * from bc_staff;
有关索引的解释
页面post提交的参数
所以,需要我们把参数
添加到PageBean中去
Action
然后在创建离线查询对象,
接着,调用service.pageQuery();.......在Impl里面调用dao.pageQuery();
完事以后,我们需要将PageBean对象转为json,通过输出流写回页面中.
现在我们采用这种方式回显,之前我们采用的是gson,或者Redis里面的回显方式.现在我们使用json-lib来讲PageBean对象转为json对象
现在我们来熟悉json-lib的常用参数
JSONObject--将单一对象转为json
JSONArray--将数组或者集合对象转为json
JSON测试类
获得json对象后,我们希望它以输出流的方式回显到页面中.
dabug测试
调出的json对象,我们发现除了total,和rows,往回写有多余的东西.