分页查询

分页查询

  1. controller
package com.lz.crowdfunding.manager.controller;

import com.lz.crowdfunding.bean.User;
import com.lz.crowdfunding.manager.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.HashMap;
import java.util.List;

/**
 * @ClassName UserController
 * @Description: TODO
 * @Author MAlone
 * @Date 2020/2/2
 * @Version V1.0
 **/
@Controller
@RequestMapping("/manag/user")
public class UserController {
    @Autowired
    private UserService userService;

    // pageno : 当前是第几页
    // pagesize : 一页显示多少条
    // totalno : 总页数
    @RequestMapping("/list")
    public String list(@RequestParam(required = false, defaultValue = "1") Integer pageno,
                       @RequestParam(required = false, defaultValue = "3") Integer pagesize,
                       Model model) {

        HashMap<String, Object> paramMap = new HashMap<String, Object>();
        paramMap.put("start", (pageno - 1) * pagesize);
        paramMap.put("size", pagesize);

        // 查询当前页的所有数据
        List<User> users = userService.queryPageUser(paramMap);

        // 获取总的数据数量
        int totalsize = userService.queryPageCount();
        // totalno : 总页数
        int totalno = 0;
        if (totalsize % pagesize == 0) {
            totalno = totalsize / pagesize;
        } else {
            totalno = totalsize / pagesize + 1;
        }
        model.addAttribute("users", users);
        model.addAttribute("totalno", totalno);
        model.addAttribute("pageno", pageno);

        return "/manag/user/list";
    }
}

  1. Dao
    <select id="queryPageUser" resultType="user">
        select *
        from t_user
        limit  #{start}, #{size}
    </select>

    <select id="querypageCount" resultType="int">
        select count(*)
        from t_user
    </select>
  1. jsp
<table class="table  table-bordered">
    <thead>
        <tr>
            <th width="30">#</th>
            <th width="30"><input type="checkbox"></th>
            <th>账号</th>
            <th>名称</th>
            <th>邮箱地址</th>
            <th width="100">操作</th>
        </tr>
    </thead>
    <tbody>
        <c:forEach items="${users}" varStatus="status" var="user">
            <tr>
                <td>${status.count}</td>
                <td><input type="checkbox"></td>
                <td>${user.loginacct}</td>
                <td>${user.username}</td>
                <td>${user.email}</td>
                <td>
                    <button type="button" class="btn btn-success btn-xs"><i
                            class=" glyphicon glyphicon-check"></i></button>
                    <button type="button" class="btn btn-primary btn-xs"><i
                            class=" glyphicon glyphicon-pencil"></i></button>
                    <button type="button" class="btn btn-danger btn-xs"><i
                            class=" glyphicon glyphicon-remove"></i></button>
                </td>
            </tr>
        </c:forEach>
    </tbody>
    <tfoot>
        <tr>
            <td colspan="6" align="center">
                <ul class="pagination">
                	<!-- 如果不是第一页, 显示上一页按钮 -->                       
                    <c:if test="${pageno != 1}">
                        <li><a style="cursor: pointer" onclick="changePageno(${pageno-1})">上一页</a>
                        </li>
                    </c:if>
                    <!-- 遍历,显示所有页码 --> 
                    <c:forEach begin="1" end="${totalno}" varStatus="status">
                        <li 
                        <c:if test="${pageno == status.count}">
                            class="active"
                        </c:if>
                        ><a style="cursor:pointer;"
                            onclick="changePageno(${status.count})">${status.count}</a></li>
                    </c:forEach>
                    <!-- 如果不是最后一页,显示下一页按钮 --> 
                    <c:if test="${pageno != totalno}">
                        <li><a style="cursor: pointer" onclick="changePageno(${pageno+1})">下一页</a>
                        </li>
                    </c:if>
                </ul>
            </td>
        </tr>
    </tfoot>
</table>


<script>
    function changePageno(pageno) {
        window.location.href = "${APP_PATH}/manag/user/list.htm?pageno=" + pageno;
    }
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值