MySQL的简单分页

本文介绍了在使用JSP和MySQL时,如何在Controller层和ServiceImpl层实现简单的分页查询。同时,讲解了当插入自增长ID数据后,如何通过`SELECT LAST_INSERT_ID();`获取最新插入记录的ID。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. jsp
var nn;
        var pageNum;
         $(function (){
			 //页面加载调用分页函数
          	 yy(1);
          	 
          	 //获取文本框输入页数进行跳转
          	 $("#gg").click(function (){
                var val = $("#goto").val();
                console.log("文本框输入的值是"+val)
                yy(val);
            })

			
         })

	function yy(num){
        nn=num;
        $("#myul").empty();
        $("#mytable").empty();
        $.ajax({
           type : "post",
           method:"post",
           async : true, 
           url : "${path}/category/queryTwoCategoryFenye", 
           data : {category_id:category_id,page:num},
           dataType : "json", //返回数据形式为json
           success:function(data) {
               var ss = data.subsystemList;
               var total = data.total;
               pageNum=data.num;
               console.log(data.num);
               $("#pageTotal").text("共"+data.num+"页");
               var $ao=     "    <li id=\"pp\" style=\"cursor: pointer\">\n" +
                            "            <a aria-label=\"Previous\" id=\"prevStatu\" οnclick=\"prevId()\">\n" +
                            "                <span aria-hidden=\"true\">&laquo;</span>\n" +
                            "            </a>\n" +
                            "    </li>";
               var $at=     "    <li  style=\"cursor: pointer\"><a aria-label=\"Next\" id=\"nextStatu\" οnclick=\"nextId()\">\n" +
                            "                <span aria-hidden=\"true\">&raquo;</span>\n" +
                            "            </a>\n" +
                            "    </li>";
               $("#myul").append($ao);
               for (var i in total){
                    var $ah="<li style=\"cursor: pointer\"><a id=\""+total[i]+"\" οnclick=\"yy("+total[i]+")\">"+total[i]+"</a></li>";
                    $("#aa").addClass('active')
                    $("#myul").append($ah);
                }
               var $total="<span id='tt'>共"+data.num+"页</span>";
               $("#goto").val(nn);
               $("#myul").append($at);
               $("#myul li").click(function() {
                     $(this).siblings('li').removeClass('active');  // 删除其他兄弟元素的样式
                     $(this).addClass('active');                            // 添加当前元素的样式
               })
                       
               //请求成功时执行该函数内容,result即为服务器返回的json对象
                 $.each(ss,function (index,topic){                         
                     var $ab=
                            "<small style='color: red'>[求助]</small>&nbsp;&nbsp;";
                     if (topic.status==1){
                            $ab="<small style='color: green'>[已解决]</small>&nbsp;&nbsp;";
                     }
                     var $tr=
                            " <tr><td class=\"new\"><a target=\"_blank\" href=\"${path}/commen.jsp?id="+topic.id+"&name="+category_id+"\"><span class=\"glyphicon glyphicon-credit-card\"></span></a></td>" +
                            "<td>"+$ab+"</td>"+
                            "<td class=\"common\"><a href=\"${path}/commen.jsp?id="+topic.id+"&name="+category_id+"\">"+topic.description+"</a></td>"+
                            "<td class=\"dd\"><span class=\"glyphicon glyphicon-pencil\"></span>&nbsp;"+topic.create_time+"</a></td></tr></u>";
                            $("#mytable").append($tr);
                        })

                    }
                });
            

<body>         
   <table id="mytable"></table>
	<div id="fo">
        <div class="input-group" id="go">
            <span class="input-group-addon" id="pageTotal"> </span>
            	<input type="text" style="width: 60px" class="form-control" id="goto">
            	<button class="btn btn-default" type="button" id="gg">Go!</button>
            </span>
        </div>
        <ul class="pagination" id="myul">
        </ul>
   </div>
</body>
  1. Controller层
@RequestMapping("queryTwoCategoryFenye")
    public Map<String ,Object> queryTwoCategoryFenye(String category_id, int page){
        System.out.println(page);
        return this.categoryService.queryTwoCategoryFenye(category_id, page);
    }
  1. serviceimpl层
@Override
    public Map<String, Object> queryTwoCategoryFenye(String category_id, int page) {
		//category_id 为用户名,根据用户名去查询用户
        Subsystem subsystem = queryByName(category_id);
        
        int start = (page - 1) * 10;
        List<Topic> topicList=new ArrayList<>();
        List<User> userList=new ArrayList<>();
        List<Subsystem> subsystemList = this.categoryDao.queryTwoCategoryFenye(subsystem.getIcon(),start);
        int num = getTotal(subsystem.getIcon());
        int pageCount = num % 10 == 0 ? num / 10 : num / 10 + 1;

        System.out.println("总条数"+num);
        System.out.println("总页数"+pageCount);

        Object arr[];
        if (pageCount>10){
            arr= new Object[10];
            for (int i=0;i<10;i++){
                arr[i]=i+1;
            }
        }else {
            arr= new Object[pageCount];
            for (int i=0;i<pageCount;i++){
                arr[i]=i+1;
            }
        }


        for (Object o : arr) {
            System.out.println(o);
        }
        /*
         * 1. 计算起始下标
         * 2. 计算总页数
         *
         * page: 当前页
         * num: 总页数
         *
         * */
        Map<String, Object> map = new HashMap<>();
        map.put("subsystemList",subsystemList);
        map.put("total",arr);
        map.put("num",pageCount);
        map.put("page",page);
//        map.put("userlist",userList);
        return map;
    }

往数据库插入一条ID为自增长的数据时,如果需要获取插入后数据的ID,再次调用SQL语句
select last_insert_id();
获取的是最后一次插入的数据ID

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值