学习笔记之springBoot小工程()(分页)

controller

 @Autowired
    private SchoolService schoolService;

    /**
     * 分页
     * @param queryParam
     * @return
     */
    @RequestMapping("/schoolBase")
    @ResponseBody
    public BootstrapTable getaaaSchool(@RequestBody(required = false)QueryParam queryParam){
        System.out.println("...queryParam"+queryParam);
        int limit = queryParam.getLimit();
        int offset = queryParam.getOffset();


        BaseModelExample baseModelExample = new BaseModelExample();
        baseModelExample.setRowIndex(offset);
        baseModelExample.setPageSize(limit);
        List<School> schools = schoolService.getaaaSch(baseModelExample);
        return new BootstrapTable(60,schools);
    }
SchoolService.class
package com.neimin.test.service;

import com.neimin.test.common.BaseModelExample;
import com.neimin.test.dao.SchoolMapper;
import com.neimin.test.model.School;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class SchoolService {
    @Autowired
    private SchoolMapper schoolMapper;

//    public List<School> getSchoolData(){
//        return schoolMapper.getSchoolData();
//    }

    public List<School> getaaaSch(BaseModelExample baseModelExample){
        return schoolMapper.getaaaSch(baseModelExample);
    }
}
SchoolMapper
package com.neimin.test.dao;

import com.neimin.test.common.BaseModelExample;
import com.neimin.test.model.School;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;
@Repository
public interface SchoolMapper {

//    List<School>  getSchoolData();

    List<School>  getaaaSch(BaseModelExample baseModelExample);
}

mapper/SchoolMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.neimin.test.dao.SchoolMapper">
    <select id="getaaaSch" resultType="com.neimin.test.model.School" parameterType="com.neimin.test.common.BaseModelExample">
        select * from school limit #{rowIndex},#{pageSize};
    </select>
</mapper>

QueryParam

package com.neimin.test.common;


import java.util.Map;

/**
 * BootStrap Table查询条件
 */
public class QueryParam {
    /**
     * offset:第一页的第一行(从0开始)
     * limit:一页有多少行
     */
    private int limit;
    private int offset;

    public int getLimit() {
        return limit;
    }

    public void setLimit(int limit) {
        this.limit = limit;
    }

    public int getOffset() {
        return offset;
    }

    public void setOffset(int offset) {
        this.offset = offset;
    }

    //每页显示数量
    private int pageSize;
    //当前页码
    private int pageNumber;
    //排序字段
    private String sortName;
    //排序顺序
    private String sortOrder;

    private Map<String, Object> search;

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getPageNumber() {
        return pageNumber;
    }

    public void setPageNumber(int pageNumber) {
        this.pageNumber = pageNumber;
    }

    public String getSortName() {
        return sortName;
    }

    public void setSortName(String sortName) {
        this.sortName = sortName;
    }

    public String getSortOrder() {
        return sortOrder;
    }

    public void setSortOrder(String sortOrder) {
        this.sortOrder = sortOrder;
    }

    public Map<String, Object> getSearch() {
        return search;
    }

    public void setSearch(Map<String, Object> search) {
        this.search = search;
    }

    @Override
    public String toString() {
        return "QueryParam{" +
                "limit=" + limit +
                ", offset=" + offset +
                ", pageSize=" + pageSize +
                ", pageNumber=" + pageNumber +
                ", sortName='" + sortName + '\'' +
                ", sortOrder='" + sortOrder + '\'' +
                ", search=" + search +
                '}';
    }
}

templates/js/index_js.html

<script>
    $(function () {
        //1.初始化Table
        var oTable = new TableInit();
        oTable.Init();
    });
    var TableInit = function () {
        var oTableInit = new Object();
        //初始化Table
        oTableInit.Init = function () {
            $('#ArbetTable').bootstrapTable({
                url: '/schoolBase',         //请求后台的URL(*)
                //修改
                method: 'post',                      //请求方式(*)
                // method: 'get',
                toolbar: '#toolbar',                //工具按钮用哪个容器
                striped: true,                      //是否显示行间隔色
                cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
                pagination: true,                   //是否显示分页(*)
                sortable: false,                     //是否启用排序
                sortOrder: "asc",                   //排序方式
                queryParams: oTableInit.queryParams,//传递参数(*)
                sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
                pageNumber: 1,                       //初始化加载第一页,默认第一页
                pageSize: 10,                       //每页的记录行数(*)
                pageList: [10, 25, 50, 100],        //可供选择的每页的行数(*)
                search: true,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
                // contentType: "application/x-www-form-urlencoded",
                //修改
                contentype:"application/json",
                strictSearch: true,
                showColumns: true,                  //是否显示所有的列
                showRefresh: true,                  //是否显示刷新按钮
                minimumCountColumns: 2,             //最少允许的列数
                clickToSelect: true,                //是否启用点击选中行
                height: 700,                        //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
                uniqueId: "no",                     //每一行的唯一标识,一般为主键列
                showToggle: true,                    //是否显示详细视图和列表视图的切换按钮
                cardView: false,                    //是否显示详细视图
                detailView: false,                   //是否显示父子表
                columns: [
                    {
                        field: 'id',
                        title: 'ID'
                    }, {
                        field: 'seq',
                        title: '排名'
                    }, {
                        field: 'score',
                        title: '分数'
                    },
                    {
                        field: 'name',
                        title: '姓名'
                    }, {
                        field: 'level',
                        title: '等级'
                    }, {
                        field: 'remark',
                        title: '备注'
                    },
                    {
                        field: 'operate',
                        title: '操作',
                        formatter: operateFormatter //自定义方法,添加操作按钮
                    },
                ],
                rowStyle: function (row, index) {
                    var classesArr = ['success', 'info'];
                    var strclass = "";
                    if (index % 2 === 0) {//偶数行
                        strclass = classesArr[0];
                    } else {//奇数行
                        strclass = classesArr[1];
                    }
                    return { classes: strclass };
                },//隔行变色
            });

        };


        //得到查询的参数
        oTableInit.queryParams = function (params) {
            var temp = {   //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
                limit: params.limit,   //页面大小
                offset:params.offset
            };
            return temp;
        };
        return oTableInit;
    };


    function operateFormatter(value, row, index) {//赋予的参数
        return [
            '<a class="btn active disabled" href="#">编辑</a>',
            '<a class="btn active" href="#">档案</a>',
            '<a class="btn btn-default" href="#">记录</a>',
            '<a class="btn active" href="#">准入</a>'
        ].join('');
    }
</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值