分页查询demo

    xiaoxiao2021-04-13  30

    dalgen tables代码片段

    <!-- 查询商品數量 --> <operation name="selectOrderCount" resultClass="int"> <extraparams> <param name="startTime" javatype="java.util.Date" /> <param name="endTime" javatype="java.util.Date" /> <param name="orderId" javatype="java.lang.String" /> <param name="cell" javatype="java.lang.String" /> <param name="rcell" javatype="java.lang.String" /> <param name="payStatus" javatype="java.lang.String" /> <param name="orderStatus" javatype="java.lang.String" /> <param name="orderPerson" javatype="java.lang.String" /> <param name="payType" javatype="java.lang.String" /> </extraparams> <sql> select count(DISTINCT ORDER_ID) from jiume_order </sql> <sqlmap> <![CDATA[ select count(DISTINCT ORDER_ID) from jiume_order <dynamic prepend="where"> <isNotEmpty property="startTime" prepend="and"> ${cdata-start} GMT_MODIFIED >#startTime# ${cdata-end} </isNotEmpty> <isNotEmpty property="endTime" prepend="and"> ${cdata-start} GMT_MODIFIED <=#endTime# ${cdata-end} </isNotEmpty> <isNotEmpty property="orderId" prepend="and"> ORDER_ID = #orderId# </isNotEmpty> <isNotEmpty property="cell" prepend="and"> CELL = #cell# </isNotEmpty> <isNotEmpty property="rcell" prepend="and"> R_CELL = #rcell# </isNotEmpty> <isNotEmpty property="payStatus" prepend="and"> PAY_STATUS = #payStatus# </isNotEmpty> <isNotEmpty property="orderStatus" prepend="and"> ORDER_STATUS = #orderStatus# </isNotEmpty> <isNotEmpty property="orderPerson" prepend="and"> ORDER_PERSON = #orderPerson# </isNotEmpty> <isNotEmpty property="payType" prepend="and"> PAY_TYPE = #payType# </isNotEmpty> </dynamic> ]]> </sqlmap> </operation> controller代码片段

    /** * 訂單訊息查詢 * * @param request * @param modelMap * @return */ @RequestMapping("/orderMng.html") public String orderMng(HttpServletRequest request, ModelMap modelMap) { System.out.println("-----------进入订单管理页面-----------"); String start1 = request.getParameter("startTime");// 开始时间 String end1 = request.getParameter("endTime");// 结束时间 String orderId = request.getParameter("orderId");// 訂單號 String cell = request.getParameter("cell");// 發貨人電話 String rcell = request.getParameter("rCell");// 收貨人電話 String payStatus = request.getParameter("payStatus");// 支付狀態 String orderStatus = request.getParameter("orderStatus");// 發貨狀態 String orderPerson = request.getParameter("orderPerson");// 订购人姓名 String payType = request.getParameter("payType");// 支付方式 Date startTime = null; Date endTime = null; if (StringUtils.isNotBlank(start1)) { try { startTime = DateUtils.parseDate(start1, DateUtils.webFormat); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (StringUtils.isNotBlank(end1)) { try { endTime = DateUtils.parseDate(end1, DateUtils.webFormat); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } int totalItems = orderDAO.selectOrderCount(startTime, endTime, orderId, cell, rcell, payStatus, orderStatus, orderPerson, payType); Map<String, Integer> pageData = getPageData(request); List<OrderDO> orderList = orderDAO.selectAllOrder(startTime, endTime, orderId, cell, rcell, payStatus, orderStatus, orderPerson, payType, pageData.get(OFFSET), pageData.get(PAGE_SIZE_STR)); List<OrderDO> list = new ArrayList<OrderDO>(); String orderIds = null; for (int i = 0; i < orderList.size(); i++) { if (!StringUtils.equals(orderList.get(i).getOrderId(), orderIds)) { list.add(orderList.get(i)); } ; orderIds = orderList.get(i).getOrderId(); } modelMap.put("orderList", orderList); modelMap.put("list", list); modelMap.put("startTime", start1); modelMap.put("endTime", end1); modelMap.put("orderId", orderId); modelMap.put("cell", cell); modelMap.put("rCell", rcell); modelMap.put("payStatus", payStatus); modelMap.put("orderStatus", orderStatus); modelMap.put("orderPerson", orderPerson); modelMap.put("payType", payType); modelMap.put("totalPages", calculatePage(totalItems, pageData.get(PAGE_SIZE_STR))); modelMap.put(CURRENTPAGE, pageData.get(CURRENTPAGE)); modelMap.put("totalItems", totalItems); request.setAttribute("page", modelMap); return "html/orderMng"; } AbstractController代码片段

    /** * onway.com Inc. * Copyright (c) 2016-2016 All Rights Reserved. */ package com.onway.web.controller; import java.io.File; import java.text.DecimalFormat; import java.util.HashMap; import java.util.Map; import java.util.regex.Pattern; import javax.annotation.Resource; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; import org.springframework.web.multipart.MultipartFile; import com.onway.common.lang.ArrayUtils; import com.onway.common.lang.NumberUtils; import com.onway.common.lang.StringUtils; import com.onway.jiume.common.dal.daointerface.AddrtypeDAO; import com.onway.jiume.common.dal.daointerface.AllParameterDAO; import com.onway.jiume.common.dal.daointerface.CartDAO; import com.onway.jiume.common.dal.daointerface.OrderDAO; import com.onway.jiume.common.dal.daointerface.PetDAO; import com.onway.jiume.common.dal.daointerface.PetTagDAO; import com.onway.jiume.common.dal.daointerface.PettypeDAO; import com.onway.jiume.common.dal.daointerface.ProductDAO; import com.onway.jiume.common.dal.daointerface.ProductParameterDAO; import com.onway.jiume.common.dal.daointerface.ProductSaleDAO; import com.onway.jiume.common.dal.daointerface.ProductTypeDAO; import com.onway.jiume.common.dal.daointerface.PublishDAO; import com.onway.jiume.common.dal.daointerface.RecordDAO; import com.onway.jiume.common.dal.daointerface.SigninDAO; import com.onway.jiume.common.dal.daointerface.UserDAO; import com.onway.jiume.common.service.exception.ErrorException; import com.onway.jiume.common.util.FileUtils; import com.onway.jiume.common.util.ImageUploadUtil; import com.onway.jiume.core.cache.SysConfigCacheManager; import com.onway.jiume.core.cache.code.CodeGenerateComponent; import com.onway.jiume.core.exception.ParamErrorException; import com.onway.platform.common.configration.ConfigrationFactory; import com.onway.web.controller.template.ControllerTemplate; /** * 控制器基类 * * @author guangdong.li * @version $Id: AbstractController.java, v 0.1 17 Feb 2016 11:18:55 guangdong.li Exp $ */ public class AbstractController { /** */ private static final Pattern SPLIT_PATTERN = Pattern.compile("_"); /** logger */ public static final Logger logger = Logger.getLogger(AbstractController.class); protected static final String EXCEPTION_MESSAGE = "服务异常,请稍后尝试"; protected static String PAGE_NUM_STR = "pageNum"; protected static String PAGE_SIZE_STR = "pageSize"; protected static int DEFAULT_PAGE_SIZE = 10; protected static int DEFAULT_PAGE_NUM = 1; protected static final String CURRENTPAGE = "currentPage"; protected static final String OFFSET = "offset"; protected static final String LIMIT = "limit"; protected static final String PAGE_FLAG = "page"; protected static final String ADVANCE_LEVEL = "進階款"; protected static final String NOMAL_LEVEL = "普通款"; protected static final String TOKEN_ERROR = "token不正确"; protected static final String USER_ID = "userId"; protected static final String TOKEN = "token"; protected static final String APP_TYPE = "appType"; protected static final String VERSION = "version"; protected static final String SIGN_T = "sign_t"; protected static final String SIGN = "sign"; protected static final String PAGE_NUM = "pageNum"; protected static final String TIME = "stime"; protected static final String CHECK_CODE = "checkCode"; protected static final String SIGN_SEED = "onway888888"; protected static final String PROD_CODE = "prodCode"; protected static final int PAGE_NUM_DIGIT = 1; protected static final int PAGE_SIZE_DIGIT = 10; protected static final String TRANSCODING_ERROR = "编码方式转型异常"; protected static final String UPLOAD_SUCCESS = "上传成功"; protected static final String UPLOAD_ERROR = "上传异常"; protected DecimalFormat dfZero = new DecimalFormat("0"); protected DecimalFormat dfDigit = new DecimalFormat("0.00"); private static final String PAGE_NO = "pageNo"; private static final String PAGE_SIZE = "pageSize"; private static final String IMAGE_FILE = ConfigrationFactory.getConfigration().getPropertyValue("jiume_post_upload_image"); private static final String IMAGE_PATH = ConfigrationFactory.getConfigration().getPropertyValue("jiume_post_image"); /****************************所有的Client********************************/ // @Resource // protected AccountInfoQueryServiceClient accountInfoQueryServiceClient; /****************************所有的Component(组成)********************************/ @Resource protected ControllerTemplate controllerTemplate; @Resource protected CodeGenerateComponent codeGenerateComponent; @Resource protected SysConfigCacheManager sysConfigCacheManager; /****************************所有的DAO********************************/ @Resource protected UserDAO userDAO; @Resource protected PetDAO petDAO; @Resource protected ProductDAO productDAO; @Resource protected ProductParameterDAO productParameterDAO; @Resource protected OrderDAO orderDAO; @Resource protected ProductTypeDAO productTypeDAO; @Resource protected AllParameterDAO allParameterDAO; @Resource protected CartDAO cartDAO; @Resource protected PetTagDAO petTagDAO; @Resource protected SigninDAO signinDAO; @Resource protected AddrtypeDAO addrtypeDAO; @Resource protected PettypeDAO pettypeDAO; @Resource protected RecordDAO recordDAO; @Resource protected ProductSaleDAO productSaleDAO; @Resource protected PublishDAO publishDAO; // @Resource // protected SmsSender SmsSender; /** * 获取页码 * @param request * @return */ public int adjustPageNo(HttpServletRequest request){ String pageNo = request.getParameter(PAGE_NO); if(pageNo == null || !NumberUtils.isDigits(pageNo)) return PAGE_NUM_DIGIT; return Integer.parseInt(pageNo) < 1 ? PAGE_NUM_DIGIT : Integer.parseInt(pageNo); } /** * 获取每页显示条数 * @param request * @return */ public int adjustPageSize(HttpServletRequest request){ String pageSize = request.getParameter(PAGE_SIZE); if(pageSize == null || !NumberUtils.isDigits(pageSize)) return PAGE_SIZE_DIGIT; return Integer.parseInt(pageSize) < 1 ? PAGE_SIZE_DIGIT : Integer.parseInt(pageSize); } /** * 转换Double * @param d * @return */ public Double adjustDouble(String d){ if(d == null) return null; if(NumberUtils.isNumber(d)){ return Double.valueOf(d); } return null; } /** * 获取分页数据 * * @param request */ protected Map<String, Integer> getPageData(final HttpServletRequest request) { String page = request.getParameter(CURRENTPAGE); String pageSize = request.getParameter(PAGE_SIZE_STR); // 分页页数 int pagesize = StringUtils.hasLength(pageSize) && StringUtils.isNumeric(pageSize) ? Integer .parseInt(pageSize) : DEFAULT_PAGE_SIZE; int currentPage = 1; int offset = 0; if (StringUtils.hasLength(page) && StringUtils.isNumeric(page)) { currentPage = Integer.parseInt(page); offset = (currentPage - 1) * pagesize; } Map<String, Integer> pageMap = new HashMap<String, Integer>(); pageMap.put(PAGE_SIZE_STR, pagesize); pageMap.put(CURRENTPAGE, currentPage); pageMap.put(OFFSET, offset); pageMap.put(LIMIT, (currentPage) * pagesize); return pageMap; } /** * 计算页数 * * @param totalItems * @return */ protected int calculatePage(int totalItems, int pagesize) { int totalPages = 0; if (0 != totalItems && totalItems > pagesize) { totalPages = 0 == totalItems % pagesize ? totalItems / pagesize : totalItems / pagesize + 1; } else if (0 != totalItems && totalItems <= pagesize) { totalPages = 1; } return totalPages; } /** * 获取客户端访问ip地址 * @param request * @return */ public String getIpAddr(HttpServletRequest request) { String ip = (String) request.getParameter("loginIP"); // 兼容PC端请求IP记录 if (StringUtils.isBlank(ip)) { ip = request.getHeader("X-Real-IP"); } if (StringUtils.isBlank(ip)) { ip = request.getHeader("x-forwarded-for"); } if (StringUtils.isBlank(ip) || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (StringUtils.isBlank(ip) || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (StringUtils.isBlank(ip) || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } return ip; } /** * * @param request * @return */ protected String getUserId(HttpServletRequest request) { String key = "AdD53fE9BCB5E6Db"; String sign = request.getHeader("Sign"); if (StringUtils.isEmpty(sign)) { sign = request.getParameter("Sign"); } if (StringUtils.isEmpty(sign)) { return ""; } //hellomyson_8201409090003422_1370****031_acabd0a7c1f943b5a5f1ec2b50b8adc9 String text = decode(sign, key); String[] arrays = SPLIT_PATTERN.split(text, 4); if (arrays == null | arrays.length != 4) { return ""; } String userId = arrays[1]; if (StringUtils.isBlank(userId)) { return ""; } return userId; } /** * AES解码 * * @param sign 加密串 * @param key 秘钥 * @return */ public String decode(String sign, String key) { if (StringUtils.isEmpty(sign)) { return ""; } try { SecretKeySpec keyspec = new SecretKeySpec(key.getBytes(), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/NoPadding"); cipher.init(Cipher.DECRYPT_MODE, keyspec); byte[] b = cipher.doFinal(org.apache.commons.codec.binary.Base64.decodeBase64(sign)); return new String(b); } catch (Exception e) { logger.error("", e); } return ""; } public String encode(String sign, String key) { if (StringUtils.isEmpty(sign)) { return ""; } try { SecretKeySpec keyspec = new SecretKeySpec(key.getBytes(), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/NoPadding"); int blockSize = cipher.getBlockSize(); byte[] dataBytes = sign.getBytes(); int plaintextLength = dataBytes.length; if (plaintextLength % blockSize != 0) { plaintextLength = plaintextLength + (blockSize - (plaintextLength % blockSize)); } byte[] plaintext = new byte[plaintextLength]; System.arraycopy(dataBytes, 0, plaintext, 0, dataBytes.length); cipher.init(Cipher.ENCRYPT_MODE, keyspec); byte[] b = cipher.doFinal(plaintext); return org.apache.commons.codec.binary.Base64.encodeBase64String(b); } catch (Exception e) { logger.error("", e); } return ""; } /** * * 是否小于指定版本 (向后兼容) * @param currentVersion * @param oldVersion * @param platform * @return */ public boolean isSupport(String currentVersion, String oldVersion) { try { return compareVersion(currentVersion, oldVersion) < 0; } catch (Exception e) { logger.error("APP版本向下兼容判断", e); } return false; } /** * 比较版本高低,version1 < version2 返回-1 ,等于返回0,大于返回1 * * @param version1 * @param version2 * @return * @throws Exception */ public static int compareVersion(String version1, String version2) { if (version1 == null || version2 == null) { throw new ParamErrorException("版本号格式错误"); } String[] versionArray1 = version1.split("\\."); String[] versionArray2 = version2.split("\\."); int idx = 0; int minLength = Math.min(versionArray1.length, versionArray2.length);//取最小长度值 int diff = 0; while (idx < minLength && (diff = versionArray1[idx].length() - versionArray2[idx].length()) == 0//先比较长度 && (diff = versionArray1[idx].compareTo(versionArray2[idx])) == 0) {//再比较字符 ++idx; } //如果已经分出大小,则直接返回,如果未分出大小,则再比较位数,有子版本的为大; diff = (diff != 0) ? diff : versionArray1.length - versionArray2.length; return diff; } /** * 文件上传(图片上传) * @param txtFile * @param uploadRealpath * @param filePath * @return */ public String uploadImage(MultipartFile txtFile, String uploadRealpath, String baseUrl) { // 检查照片是否存在 if (txtFile.getOriginalFilename() == null || "".equals(txtFile.getOriginalFilename())) { throw new ErrorException("图片后缀名为空"); } // 照片上传 File file = ImageUploadUtil.getFile(txtFile, uploadRealpath, ""); // 获取文件访问地址 String visitPath = uploadRealpath+file.getName(); return visitPath; } /* * 上传图片 */ public void uploadFile(MultipartFile image, String absolutePath) throws Exception { File userAuthImage = new File(absolutePath); if (image == null || ArrayUtils.isEmpty(image.getBytes())) { } FileUtils.writeByteArrayToFile(userAuthImage, image.getBytes()); } //檢查的同時獲取 protected String getParameterCheck(final HttpServletRequest request,String key){ String Value = request.getParameter(key); if(null==Value||Value.equals("")){ Value=null; } return Value; } } page.html

    <meta charset="UTF-8"> <table width="100%" border=0 align=center cellpadding=0 cellspacing=0 class="pageInfo" style="margin:5px 0;"s> <tr> <td align="right"> #if($page) #if($page.totalItems && $page.totalItems > 0) 共 $page.totalItems 条,当前第 $!page.currentPage 页,共 $!page.totalPages 页  |   #if($page.currentPage==1) 首页 上一页 #else <a href ="javascript:gotoPage(1,'$!formName')">首页</a> #set($prePage=$page.currentPage - 1) <a href = "javascript:gotoPage($prePage,'$!formName')">上一页</a> #end #if($page.currentPage==$page.totalPages) 下一页 尾页 #else #set($nextPage=$page.currentPage + 1) <a href = "javascript:gotoPage($nextPage,'$!formName')" >下一页</a> <a href ="javascript:gotoPage($page.totalPages,'$!formName')">尾页</a> #end 转到第 <select id ="gotoPage" name="gotoPage" οnchange="gotoPages('$!formName')" class="button button-tiny"> #foreach($velocityCount in [1..$page.totalPages] ) #if($page.currentPage == $velocityCount) <option selected value='$velocityCount'>$velocityCount</option> #else <option value='$velocityCount'>$velocityCount</option> #end #end </select> 页 #end #end </td> </tr> </table> <script type="text/javascript"> function gotoPage(pageNum,formName){ formName = formName || 'mainForm'; var frm = document.getElementById(formName); frm.currentPage.value = pageNum; frm.submit(); } function gotoPages(formName){ var pages = document.getElementById("gotoPage").value; if(pages < 0 || pages == "") pages = 0; if(isNaN(pages)){ alert("请输入数字!"); document.getElementById("gotoPage").value="go"; return false; } document.getElementById("currentPage").value = pages; var frm = document.getElementById(formName); frm.submit(); } </script> html里引用page.html的代码片段

    <div class="fn-mt7">#set ($formName = "formName") #parse('/html/page.html')</div> <div style="height: 200px;"></div>

    转载请注明原文地址: https://ju.6miu.com/read-669417.html

    最新回复(0)