分頁功能、從一個接口拿到數據並放到數據庫,然后批量獲取給到前端接口


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

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM