使用layui+mybatis-plus分页插件实现分页效果

编写Controller获取数据 以json返回

package whm.sys.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import whm.commons.DataGridView;
import whm.sys.pojo.SysLoginfo;
import whm.sys.service.SysLoginfoService;
import whm.sys.vo.SysLoginfoVo;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author Alice
 * @since 2020-04-02
 */
@Controller
@RequestMapping("/loginfo")
public class SysLoginfoController {

    @Autowired
    private SysLoginfoService sysLoginfoService;

    /**
     * 实现日志的全查询
     * @param
     * @return
     */
    @ResponseBody
    @RequestMapping("loadAllLoginfo")
    public DataGridView  loadAllLoginInfo(SysLoginfoVo sysLoginfoVo)
    {

        //传入分页的属性
        IPage<SysLoginfo> page = new Page<>(sysLoginfoVo.getPage(),sysLoginfoVo.getLimit());
        //条件构造器
        QueryWrapper<SysLoginfo> wrapper = new QueryWrapper<>();
        wrapper.like(StringUtils.isNoneBlank(sysLoginfoVo.getLoginname()),"loginnanme",sysLoginfoVo.getLoginname());
        wrapper.like(StringUtils.isNoneBlank(sysLoginfoVo.getLoginip()),"loginip",sysLoginfoVo.getLoginip());
        wrapper.ge(sysLoginfoVo.getStartTime()!=null,"logintime",sysLoginfoVo.getStartTime()!=null);
        wrapper.le(sysLoginfoVo.getEndTime()!=null,"logintime",sysLoginfoVo.getEndTime()!=null);
        wrapper.orderByAsc("logintime");
        sysLoginfoService.page(page, wrapper);
        return  new DataGridView(page.getTotal(),page.getRecords());
    }

}

前端界面引入

<!--分页表格开始-->
<table class="layui-hide" id="loginfoTable" lay-filter="loginfoTable"></table>
<div id="loginfoToolBar" style="display: none">
    <button type="button" lay-event="batchDelete"  class="layui-btn layui-btn-sm layui-btn-danger layui-btn-radius">
        <i class="layui-icon layui-icon-delete"></i>批量删除
    </button>
</div>

调用js代码

 layui.use(['jquery', 'form', 'layer', 'laydate', 'table'], function () {
        var $ = layui.jquery;
        var form = layui.form;
        var layer = layui.layer;
        var laydate = layui.laydate;
        var table = layui.table;
        //初始化时间选择器
        laydate.render({
            elem: "#startTime",
            type: "datetime"
        });
        laydate.render({
            elem: "#endTime",
            type: "datetime"
        });

        //初始化表格
        var tableIns = table.render({
            elem: "#loginfoTable",
            title: "日志数据表格",
            url: '/loginfo/loadAllLoginfo',
            toolbar: "#loginfoToolBar",
            page: true,
            height: "full-190",
            cols: [ [
                {type: 'checkbox', fixed: 'left'},
                {field: 'id', title: 'ID', align: 'center'},
                {field: 'loginname', title: '登陆用户名', align: 'center'},
                {field: 'loginip', title: '登陆IP', align: 'center'},
                {field: 'logintime', title: '登陆时间', align: 'center'},
                {fixed: 'right', title: '操作', toolbar: '#loginfoRowBar', align: 'center'}
            ] ],

  本项目使用springboot整合开发。需要配置

MyBatisPlusConfig 自动配置类  (核心点)
    // 分页插件
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return  new PaginationInterceptor();
    }

  没错,你已经写完了!!!

       下面请上效果图

猜你喜欢

转载自www.cnblogs.com/420ITboy/p/12637591.html