201312 月15
Nutz:自定义SQL多表多字段分页查询方法
easyui.datagrid 调用示例:
@At @Ok("raw") public String test(@Param("page") int curPage, @Param("rows") int pageSize){ Sql sql=Sqls.create("select a.name,b.loginname From sys_unit a,sys_user b where a.id=b.unitid"); return daoCtl.listPageJsonSql(dao, sql, curPage, pageSize); }
源代码:
/** * 根据自定义SQL分页,返回封装好的QueryResult对象 * @param dao * @param sql * @param curPage * @param pageSize * @return */ public QueryResult listPageSql(Dao dao, Sql sql, int curPage,int pageSize) { Pager pager = dao.createPager(curPage, pageSize); pager.setRecordCount(Daos.queryCount(dao, sql.getSourceSql()));// 记录数需手动设置 sql.setPager(pager); sql.setCallback(Sqls.callback.records()); dao.execute(sql); return new QueryResult(sql.getList(Map.class), pager); } /** * 根据自定义SQL分页,返回封装好的 Easyui.datagrid JSON * @param dao * @param sql * @param curPage * @param pageSize * @return */ public String listPageJsonSql(Dao dao, Sql sql, int curPage, int pageSize) { Pager pager = dao.createPager(curPage, pageSize); pager.setRecordCount(Daos.queryCount(dao, sql.toString()));// 记录数需手动设置 sql.setPager(pager); sql.setCallback(Sqls.callback.records()); dao.execute(sql); Map<String, Object> jsonobj = new HashMap<String, Object>(); jsonobj.put("total", pager.getRecordCount()); jsonobj.put("rows", sql.getList(Map.class)); return Json.toJson(jsonobj); }
本文地址:https://wizzer.cn/archives/2807 , 转载请保留.