资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

ssm存储过程分页

分页存储过程:

创新互联长期为超过千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为顺平企业提供专业的成都做网站、网站建设,顺平网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

CREATE OR REPLACE PROCEDURE prc_query

       (p_tableName        in  varchar2,   --表名

        p_strWhere         in  varchar2,   --查询条件

        p_orderColumn      in  varchar2,   --排序的列

        p_orderStyle       in  varchar2,   --排序方式

        p_curPage          in out number,  --当前页

        p_pageSize         in out number,  --每页显示记录条数

        p_totalRecords     out number,     --总记录数

        p_totalPages       out number,     --总页数

        v_cur              out pkg_query.cur_query)   --返回的结果集

IS

   v_sql VARCHAR2(1000) := '';      --sql语句

   v_startRecord Number(4);         --开始显示的记录条数

   v_endRecord Number(4);           --结束显示的记录条数

BEGIN

   --记录中总记录条数

   v_sql := 'SELECT TO_NUMBER(COUNT(*)) FROM ' || p_tableName || ' WHERE 1=1';

   IF p_strWhere IS NOT NULL or p_strWhere <> '' THEN

       v_sql := v_sql || p_strWhere;

   END IF;

   EXECUTE IMMEDIATE v_sql INTO p_totalRecords;

   --验证页面记录大小

   IF p_pageSize < 0 THEN

       p_pageSize := 0;

   END IF;

   --根据页大小计算总页数

   IF MOD(p_totalRecords,p_pageSize) = 0 THEN

       p_totalPages := p_totalRecords / p_pageSize;

   ELSE

       p_totalPages := p_totalRecords / p_pageSize + 1;

   END IF;

   --验证页号

   IF p_curPage < 1 THEN

       p_curPage := 1;

   END IF;

   IF p_curPage > p_totalPages THEN

       p_curPage := p_totalPages;

   END IF;

   --实现分页查询

   v_startRecord := (p_curPage - 1) * p_pageSize + 1;

   v_endRecord := p_curPage * p_pageSize;

   v_sql := 'SELECT * FROM (SELECT A.*, rownum r FROM ' ||

            '(SELECT * FROM ' || p_tableName;

   IF p_strWhere IS NOT NULL or p_strWhere <> '' THEN

       v_sql := v_sql || ' WHERE 1=1' || p_strWhere;

   END IF;

   IF p_orderColumn IS NOT NULL or p_orderColumn <> '' THEN

       v_sql := v_sql || ' ORDER BY ' || p_orderColumn || ' ' || p_orderStyle;

   END IF;

   v_sql := v_sql || ') A WHERE rownum <= ' || v_endRecord || ') B WHERE r >= '

            || v_startRecord;

   DBMS_OUTPUT.put_line(v_sql);

   OPEN v_cur FOR v_sql;

   

END prc_query;

controller:

@Controller

@RequestMapping("/userloginLog")

public class UserLoginLogController {

@Autowired

private IUserLoginLogService userLoginLogService;

@RequestMapping("/getAllUser")

public String getAllUser(HttpServletRequest request,HttpServletResponse response,Model model){

try { 

String sql = "";

int pageNo =1;

Map param = new HashMap();

String StrpageNo = request.getParameter("pageNo");

if(StringUtils.isNotBlank(StrpageNo)){

pageNo = Integer.parseInt(StrpageNo);

}

String loginName = request.getParameter("loginName");

String resultCode = request.getParameter("resultCode");

String channelid = request.getParameter("channelid");

String startTime = request.getParameter("startTime");

String endTime = request.getParameter("endTime");

if(StringUtils.isNotBlank(loginName)){

sql+=" and login_name='" + loginName + "'";

model.addAttribute("loginName", loginName);

}

if(StringUtils.isNotBlank(resultCode)){

sql+=" and RESULT_CODE='" + resultCode + "'";

model.addAttribute("resultCode", resultCode);

}

if(StringUtils.isNotBlank(channelid)){

sql+=" and CHANNELID='" + channelid + "'";

model.addAttribute("channelid", channelid);

}

if(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime) ){

sql+=" and LOGIN_TIME between to_date('"+startTime+"', 'yyyy-mm-dd hh34:mi:ss') and to_date('"+endTime+"', 'yyyy-mm-dd hh34:mi:ss')";

model.addAttribute("startTime", startTime);

model.addAttribute("endTime", endTime);

}

        param.put("tableName", "TL_USER_LOGIN_LOG");

        param.put("strWhere", sql);

        param.put("curPage", pageNo);

        param.put("pageSize", 20);

        userLoginLogService.getPrAllUser(param);

        //result 为在mybatis xml文件时 写的返回结果名

        List LoginLogList= (List) param.get("result"); 

        int curPage = (Integer) param.get("curPage");

        int totalRecords = (Integer) param.get("totalRecords");

        int totalPages = (Integer) param.get("totalPages");

        model.addAttribute("myPage", curPage);

        model.addAttribute("pageNo", curPage);

        model.addAttribute("totalCount", totalRecords);

        model.addAttribute("totalPage", totalPages);

        model.addAttribute("userLoginLogList", LoginLogList);

return "prTest";

} catch (Exception e) {

e.printStackTrace();

model.addAttribute("InfoMessage",

"获取信息失败,异常:" + e.getMessage());

return "result";

 }

 }

}

IUserLoginLogService:

public List getPrAllUser(Map map);

UserLoginLogServiceImpl:

@Override

public List getPrAllUser(Map map) {

// TODO Auto-generated method stub

return userLoginLogDao.getPrAllUser(map);

}

IUserLoginLogDao:

public List getPrAllUser(Map map);

mybitas:

   

JSP:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

    Basic Form - jQuery EasyUI Demo

   

   

   

   

   

   

   

       

       

                data-options="collapsible:true">

           

               

                   

                       

                       

                       

                       

                       

                       

                       

                       

                       

                       

                       

                       

                   

               

用户名:起始时间:结束时间:请求结果类型:

                           

                       

平台:

                           

                       

查询重置

           

       

       

           data-options="singleSelect:true,fitColumns:true,method:'get'">

       

             

                 

                 

                 

                 

                 

                 

                 

                 

                 

             

       

       

           

                 

                   

                   

                   

                   

                   

                         

                       

                       

                         

                       

                       

                         

                       

                       

                         

                       

                       

                         

                       

                       

                        

                       

                       

                   

                   

                   

                   

                   

               

           

     

   

序列用户名请求时间请求结果渠道用户类型账号类型加密报文返回报文
${sequence.count}${loginList.loginName }${loginList.loginTime }${loginList.resultDesc }店员奖励系统直供系统终端信息平台售后用户信息管理平台${loginList.loginUserType }${loginList.loginAccountType }${loginList.originalxml }${loginList.rspxml }

       

           

           

           

               

               

               

               

                        共${totalCount}${pageNo}/${totalPage}

                首页

               

               

               

                 尾页

           

       

       

   

     

 

         

           

             

             

           

           

             

             

           

           

             

             

           

           

             

             

           

           

             

             

           

           

             

             

           

           

             

             

           

           

             

             

           

         

用户名:
请求时间:
用户类型:
账号类型:
返回结果:
平台系统:
返回报文:
解密后报文:

   


文章标题:ssm存储过程分页
URL链接:http://cdkjz.cn/article/joggso.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220