zoukankan      html  css  js  c++  java
  • 分页功能、从一个接口拿到数据并放到数据库,然后批量获取给到前端接口

    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占位符。:即可,不需要再在:前添加参数名。

      

      

    坚持就是胜利
  • 相关阅读:
    python视频教程大全(转载)
    数据挖掘十大经典算法(转载)
    等值线算法(转载)
    主成分分析PCA(转载)
    K-Means 算法(转载)
    面试常见问题小结
    二叉树的深度和宽度
    二叉树最大路径和-Binary Tree Maximum Path Sum
    C++中单例模式
    OC对象的动态和静态构造区别
  • 原文地址:https://www.cnblogs.com/xiaotieblog/p/8330561.html
Copyright © 2011-2022 走看看