分页功能、从一个接口拿到数据并放到数据库,然后批量获取给到前端接口
2020-03-04 23:52
453 查看
1、使用情况:前端页面只需要点击后显示下一页即可(不需要显示“上一页”,“下一页”和"页码”)
环境:SpringMVC、Hibernate、Spring
(1)前端需要jason格式的数据,如果前端想要分页获取数据。只需要传递传递两个参数即可。pageNo和pageSize。这里是将pageSize设为了固定值。
@SuppressWarnings({ "rawtypes", "unchecked" }) @RequestMapping("/getTtaList") public void getttaList(HttpServletRequest request, HttpServletResponse response) { // 初始化返回信息 MResultDto mResultDto = new MResultDto(); Integer pageSize=10; try{ //从JSON取得参数 FromJacksonExt fromJackson = (FromJacksonExt) new JackSonUtil().fromJackson(request, FromJacksonExt.class); //如果JSON数据为空,返回错误信息 if(fromJackson==null){ //参数传递错误 // 参数传递错误 mResultDto.setOpResultAndErrCode(Integer.parseInt(GetProperties.getProperties("Return_ERR")), "ERROR_000", GetProperties.getResourceBundle("", "ERROR_000")); }else{ List<KTA> ktaList = ktaService.findKtaList(fromJackson.getPageNo()*pageSize, pageSize); mResultDto.setData(ktaList); } } catch (Exception e) { // 出错并返回 mResultDto.setOpResultAndErrCode(Integer.parseInt(GetProperties.getProperties("Return_ERR")), "ERROR_DEFAULT", GetProperties.getResourceBundle("", "ERROR_DEFAULT")); logger.error("--------"); logger.error(StringUtil.getStackTrace(e)); } // 返回JSon格式 try { response.setContentType("application/json;charset=UTF-8"); response.getWriter().write(new JackSonUtil<MResultDto>().toJackson(mResultDto)); response.getWriter().flush(); response.getWriter().close(); } catch (Exception re) { logger.error(StringUtil.getStackTrace(re)); } }
JackSonUtil是用于将前端传递过来的参数(GET、POST均可),转换成JSON格式。FromJacksonExt类已经创建好了很多个属性。例如pageNo、pageSize等,如果有需要的属性也可以添加进去。
DAO
//分页返回数据 @SuppressWarnings("unchecked") @Transactional(readOnly = true, propagation = Propagation.REQUIRED) public List<KTA> findKtaList(int pageIndex, int pageSize) throws Exception { String sql = "select * from t_kta order by c_date desc limit :pageIndex,:pageSize "; Query query = super.getSessionFactory().getCurrentSession().createSQLQuery(sql.toString()); query.setInteger("pageIndex", pageIndex); query.setInteger("pageSize", pageSize); List<KTA> list = query.list(); // return query.setFirstResult((pageNo - 1) * pageSize).setMaxResults(pageSize).list(); return list; }
sql占位符。:即可,不需要再在:前添加参数名。
转载于:https://www.cnblogs.com/xiaotieblog/p/8330561.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- php获取excel表格中数据的小方法 然后就可以放到数据库了
- php获取excel表格中数据的小方法 然后就可以放到数据库了
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- 6.5 分页列表详细信息标签预编译sql获取数据功能
- 1 开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你。 本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的原则已经被许多现有的JDBC应用程序编译运行并验证过。 这些指导原则包括: 正确的使用数据库MetaData方法 只获取需要的数据 选用最佳性能的功能 管理连
- 调用第三方接口获取数据写入数据库
- 文本数据批量导入导出数据库功能~~急~~
- 如何实现从数据库中取出的列表数据进行分页功能?
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- 当From窗体中数据变化时,使用代码获取数据库中的数据然后加入combobox中并且从数据库中取得最后的结果
- java从前端获取excel表并进行解析,将数据保存数据库
- python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
- 前端纯js(html+css+jquery+ajax)实现网站页面获取后端数据并进行条件筛选功能
- jqgrid获取本页数据,调用接口异步更新行数据(支持分页)
- 前端用的模块化开发requireJs分页功能(数据是ajax调用所得)
- 使用BootStrapTable 进行分页查询时后端接口数据正常前端表单没有展现数据,或展现数据为空问题
- 从数据库获取到json数据,前端用vue.js数据绑定
- javascript实现获取json数据分页功能
- 带有分页排序功能的表格插件的使用(通过ajax获取后台数据)
- 使用 NodeJs 实现一个本地接口数据系统,无需数据库,让前端独立于后台开发