记录一次 ssm下 pagehelper +layui

智能办公系统 基于SSM 框架 + Layui 前端框架 + MySQL 数据库,开发一套智能 CRM 办公系统。系统主要实现用户登录、用户管理、角色权限管理、营销机会管理、客户开发计划管理等功能,采用 RBAC 角色权限控制模型,搭配分页查询、单条 / 批量数据操作、树形权限授权、密码加密、会话保持等常用技术,模拟企业内部办公与客户线索管理场景,完成前后端交互、数据库操作、权限管控等核心开发工作。 阅读详情

1.先在pom文件中引入相应的pagehelper依赖
在这里插入图片描述

在这里插入图片描述
2.在applicationContext.xml中配置相关信息
在这里插入图片描述prop中的值可以自行定义,我这里用的mysql数据所以配置的mysql
3.后端逻辑
不说了直接上代码
controller:
在这里插入图片描述
dao层:这里方法参数我是为了限制用户类型访问,如果直接查询可不设置参数直接查询
在这里插入图片描述
service层
在这里插入图片描述
在这里插入图片描述
mapper
在这里插入图片描述
4.前端逻辑
前端使用的layui

,templet: function(res){
                        if(res.username==null){
                            return "";
                        }else {
                            return '<div style="text-align: center">'+res.username+'</div>'
                        }
                    }

上述代码只是相对页面展示进行初始化,毕竟页面上空值显示undefined不太好看哈哈。
不说了上代码:

<table class="layui-hide" id="tb"  lay-filter="tb" style="text-align: center"></table>
 layui.use(['form', 'table','laypage'], function(){
        var table = layui.table;
        var form =layui.form;
        var laypage = layui.laypage;
table.render({
            elem: '#tb'
            ,url:'personManage/userManage'
            ,toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
            , limit: 20
            , limits: [20, 40, 60]
            ,defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
                title: '提示'
                ,layEvent: 'LAYTABLE_TIPS'
                ,icon: 'layui-icon-tips'
            }]
            ,title: '用户数据表'
            ,parseData:function (res) {
                console.log(res)
                console.log(res.total)
                return{
                    "code":res.code, 此处为后端返回的参数code
                    "msg": res.msg, 此处为后端返回的参数msg
                    "count": res.total,此处为后端返回的参数total
                    data: res.data 此处为后端返回的数据
                }
            },count:'count'
            ,cols: [[
                {type: 'checkbox', fixed: 'left'},
                {field: 'id', title: '序号', width:'6%', fixed: 'left', align:'center',templet: function(res){
                        return '<div style="text-align: center">'+ res.LAY_INDEX+'</div>';
                    }}
                ,{field:'userid', title:'用户名', width:'10%',align:'center', fixed: 'left', /*unresize: true,*/ sort: true,templet: function(res){
                        console.log("数据表格内res:-------------->"+res.userid)
                        if(res.userid==null){
                            return "";
                        }else {
                            return '<div style="text-align: center">'+res.userid+'</div>'
                        }
                    }}
                ,{field:'username', title:'姓名',align:'center', width:'10%', edit: 'text',templet: function(res){
                        if(res.username==null){
                            return "";
                        }else {
                            return '<div style="text-align: center">'+res.username+'</div>'
                        }
                    }}
                ,{field:'userpwd', title:'密码',align:'center', width:'10%', edit: 'text',templet: function(res){
                        if(res.userpwd==null){
                            return "";
                        }else {
                            return '<div style="text-align: center">'+res.userpwd+'</div>'
                        }
                    }}
                ,{field:'sex', title:'性别',align:'center', width:'10%', edit: 'text',templet: function(res){
                        if(res.sex==null){
                            return "";
                        }else {
                            return '<div style="text-align: center">'+res.sex+'</div>'
                        }
                    }}
                ,{field:'userdept', title:'所在部门',align:'center', width:'10%', templet: function(res){
                        if(res.userdept==null){
                            return "";
                        }else{
                            return '<div style="text-align: center">'+res.userdept+'</div>'
                        }
                    }}
                ,{field:'userrole', title:'所属角色',align:'center', width:'10%', templet: function(res){
                        if(res.userrole==null){
                            return "";
                        }else{
                            return '<div style="text-align: center">'+res.userrole+'</div>'
                        }

                    }}
                ,{field:'usertype', title:'用户类型',align:'center', width:'10%', sort: true,templet: function(res){
                        if(res.usertype==null){
                            return "";
                        }else if(res.usertype =='0'){
                            return '<div style="text-align: center">'+"普通用户"+'</div>'
                        }else if(res.usertype =='1'){
                            return '<div style="text-align: center">'+"系统管理员"+'</div>'
                        }else if(res.usertype =='2'){
                            return '<div style="text-align: center">'+"超级管理员"+'</div>'
                        }
                    }}
                ,{field:'userstatus', title:'用户状态',align:'center', width:'10%', sort: true,templet: function(res){
                        let menuId = res.userstatus;
                        let userid = res.userid;
                        if(res.userstatus==null){
                            return "";
                        }else if(res.userstatus =='1'){
                            return '<div style="text-align: center">' +"   <input type='checkbox' menuId = '" + menuId + "' userid = '" + userid + "' lay-filter='userstatus' lay-skin='switch' lay-text='启用|禁用' checked>"+'</div>'
                        }else if(res.userstatus =='0'){
                            return '<div style=\"text-align: center\">'+"   <input type='checkbox'  menuId = '" + menuId + "' userid = '" + userid + "' lay-filter='userstatus' lay-skin='switch' lay-text='启用|禁用'>"+'</div>'
                        }
                    }}
                ,{fixed: 'right', title:'操作',align:'center', toolbar: '#barDemo', width:'10%',templet: function(res){
                        return '<div style="text-align: center">'+res.right+'</div>'
                    }}
            ]]
            ,id:'testReload'
            ,page: {
                layout: ['prev', 'page', 'next','limit','count'] //自定义分页布局
                ,groups: 3 //只显示 3 个连续页码
                ,first: '首页' //首页
                ,prev: '上一页'
                ,next: '下一页'
                ,last: '尾页' //尾页
                ,limit:10
                ,limits:[10,20,30]
            }
            ,request: {
                pageName: 'page' // 页码的参数名称,默认:page
                , limitName: 'size' //每页数据量的参数名,默认:limit
            },
        });
});

好了下面就是页面截图
在这里插入图片描述
上图中的msg,total,code均为返回的参数值
下面就是效果图(初始的分页在左边自己加个text-align:center居中就OK)
在这里插入图片描述
欢迎各位大佬指正建议,觉得文章可以的话不妨点点关注哦!

SSM框架从零搭建图书管理系统:Spring+SpringMVC+MyBatis整合实战 在JavaWeb开发中,SSM框架(Spring+SpringMVC+MyBatis)是经典的后端技术组合,也是许多课程设计与毕业设计的高频选题。理解SSM的整合逻辑,有助于掌握对象管理、请求分发与持久层映射的核心原理。Spring负责业务对象的统一装配,SpringMVC承担前端请求的路由与绑定,MyBatis则通过Mapper接口与XML文件完成数据库操作。这种分层设计在图书管理等典型业务系统中非常实用,既便于维护,也能高效实现分页查询、条件检索、借阅事务处理等常见功能。从数据库表设计到Tomcat部署 阅读详情

相关推荐

sprongboot+pagehelper+layui.table分页

使用sprongboot+pagehelper+layui.table,实现table的分页,如果查询的数据是多表查询,分页查询时只有第一页,可以对查询的数据正常分页,再写个SQL语句查询数据总个数

Springboot整合Layui+pagehelper实现分页功能、图片查看功能(十分详细)

2、导入LayUI插件 4、准备一个table并设置id 二、具体实现 1、前端js部分,注释写的很细务必仔细观看 2、后台代码 这里layui会默认传给后台limit(每页条数)和page(页面大小)两个参数, 默认limit=10,page=1 Controller Service 接口 实现类 Mapper 整体调用后的结果(我用postman做的测试): 三、最终结果 1、分页总览

weixin_45790267的博客 1086

SSM+Layui+PageHelper+代码生成器整合java项目

SSM+Layui+PageHelper+代码生成器整合java项目,mybatis配置半自动生成

layui的分页与pagehelper插件进行整合 实现 layui页面的 分页效果

前言 相信看到这个文章的人都是那些不知道如何将layui的分页如何实现的人,layui官方有一个组件 叫做laypage 但是我作为一个java开发人员,实在不是很懂原生js的使用,就连这个layui我熟练起来也花了一部分时间。 下面我来 讲解一下我的layui的表格进行分页的。 先看效果 这里的效果就是可以点击页码进行页面内容的跳转,和layui的表格完美适配 实现 java代码实现: 实体类 package com.zzq.common; /** * @ClassName: PageInfo *

weixin_42500220的博客 1875

NRF24L01模块的5个常见问题及解决方案:从信号干扰到功耗优化

本文深入探讨NRF24L01无线模块在STM32开发中的5大常见问题及解决方案,包括通信距离优化、数据丢失排查、电源噪声抑制、SPI通信故障处理以及低功耗设计。通过代码示例和电路图分析,提供实用的优化策略,帮助开发者提升无线通信的稳定性和效率。

weixin_28256233的博客 226

OAI数据集申请与实战:从权限获取到医学影像分析应用

本文详细介绍了OAI数据集的申请流程与医学影像分析实战应用。从NDA账户注册、数据下载技巧到骨盆X光关键点检测的完整实现,帮助医学研究者高效利用这一权威骨关节炎数据集。特别分享使用Pei Y标注数据训练U-Net模型的经验,包括预处理、注意力机制优化等实用技巧。

weixin_30275415的博客 478

SSM+layui+PageHelper实现分页查询

一. 问题背景 需要实现的效果如下:点击每一页,就能查询到每一页的数据 二. 解决方案 首先需要导入PageHelper的jar包、还有它的依赖包JSqlparse的jar包。 这两个jar包基本都在外网,所以这里上传到云盘,有需要的可下载。 链接:https://pan.baidu.com/s/1LwkGh9l704-hDtRUa1glDA 提取码:5jj8 导入上面的两个jar包后,...

Android_la的博客 1672

leetcode134 加油站

题目如下 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。 说明: 如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同。 输...

ayang818 's blog 233

Layui + PageHelper 分页查询

Layui的分页查询 layui向后端发请求,url后面会自动带上 page=1&limit=10 传统的分页查询 select * from 表名 limit m, n 从第m+1行开始取n条数据 使用PageHelper 导入maven依赖: <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> &

cutlery1137的博客 1997

基于ZYNQ的HP总线与DDR交互:实现PL与PS高效数据传输的完整指南

本文将深入探讨如何通过AXI HP总线实现PL与PS的DDR交互,结合代码示例、硬件配置与创新优化,助力开发者掌握这一关键技术。ZYNQ内部通过AXI HP接口直接连接PL与DDR控制器,PL通过AXI协议发送读写请求,绕过PS的CPU直接操作DDR。通过AXI HP总线实现PL与PS的DDR交互,开发者可充分发挥ZYNQ异构架构的优势。在Xilinx ZYNQ系列芯片中,PS(Processing System)与PL(Programmable Logic)的协同设计是其核心优势。

QQ_778132974的博客 1223

rv1126如何切换720p和1080p

切换720p和1080p可以使用modetest,但是需要将这两种模式都添加到connector中去 添加一个新的mode到connector中去,其实内核中已经有相关接口了,需要做一些小改动。 1.不采用设备树的方式去配置,将720p和1080p的timing参数配置放在数组中。 2.这里的printer和设备树中的.compatible = "printer"一致。 3.将其添加到connector中去 static int panel_simple_get_fixed_modes(struct

weixin_42097108的博客 863

SSM框架+layui+PageHelper实现分页

SSM框架+layui+PageHelper实现分页的步骤,所用到的jar包可以到mvnrepository中下载: 在UserInfoMapper.xml中添加SQL语句,查询所有用户信息 <resultMap type="UserInfo" id="userInfoMap"> <id column="user_id" property="id"/> <result column="user_code" property="code"/>

webjie的专栏 703

UG\NX二次开发 使用UF_CURVE_create_ocf_feature函数创建“在面上偏置”特征

使用UF_CURVE_create_ocf_feature函数创建“在面上偏置”特征。

王牌飞行员_里海的博客 849

关于SSM框架LayUI结合PageHelper的简单配置及使用

参考文章链接: 使用MyBatis分页插件PageHelper遇到的问题 https://www.cnblogs.com/zx947240023/p/8150923.html 搭建layui+mybaits分页插件pagehelper实现漂亮的前端分页功能 https://blog.youkuaiyun.com/u014598014/article/details/79837207 使用pagehelper报...

qq_37708081的博客 576

Dify 第 2 篇 Dify 插件离线安装

Dify是一个支持插件扩展的AI平台,其插件市场提供5种类型插件(模型、工具、Agent策略、扩展、插件包)。由于默认pip安装速度慢,可通过dify-plugin-repackaging工具将插件转换为离线包(使用阿里云镜像加速)。该工具提供两种方式:1)自备Python环境执行脚本;2)使用Docker环境(推荐)。脚本支持从Dify市场或GitHub下载插件,并重新打包为含依赖的离线包,便于通过"本地插件"方式快速安装。

甘蓝的专栏 1261

使用Simulink对氢燃料电池与锂电池的混合储能系统进行建模

本文介绍了基于Simulink的氢燃料电池与锂电池混合储能系统建模与协同控制方法。系统通过氢燃料电池提供稳定能源,锂电池实现快速响应,结合DC-DC变换器和负载管理器实现动态调控。详细阐述了从模型创建、关键模块配置到控制器设计的完整流程,重点说明了功率分配算法和充放电控制策略的实现。通过仿真分析验证了系统在不同负载条件下的性能表现,包括响应速度、工作效率和稳定性等指标。该方案为新能源混合储能系统的设计与优化提供了实用指导,有助于提升系统可靠性和延长电池寿命。

amy_mhd的博客 314

SSM 整合 分页插件 PageHelper

一、简介 现在开发做常用的ORM框架就是MyBatis了,在实际开发中少不了做分页处理,这里提供最常用的分页插件PageHelper PageHelper官网:https://pagehelper.github.io/ 二、使用篇 【springboot2.0 + PageHelper】 注意: springboot2.0 集成时要使用1.2.x以后版本 1、maven依赖 https://mv...

日拱一卒 4768

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ssm和ajax和Oracle实现分页,SSM,AJAX,PageHelper,Layui实现分页功能

写个小增删改查功能的时候,遇到了一些问题,解决后记录一下:导入相应配置,记得在springmvc 加入:com.fasterxml.jackson.corejackson-databind2.8.8com.github.pagehelperpagehelper5.1.2mysqltrue1.打开jsp页面ajax提交请求到后台showPageNo(1,5);varpageCount=window....

weixin_36089954的博客 123

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

图书馆管理系统 ssm layui

图书馆管理系统 ssm layui 开发环境 开发软件 idea 也可以用eclipse导入 前端 lyaui 后端 spring springmvc mybatis 分页用的pagehelper maven管理项目 tomcat 7 数据库库 mysql 5.7 效果图 完整的目录结构 mysql数据库 依次是管理员表,登录日志,班级表,打扫记录表,宿舍表,维修记录表,菜单表,角色表,中间表,学生表。下面是菜单表: pom文件 <?xml version="1.0"

m0_46108627的博客 1242

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SSM框架构建美食论坛系统的技术实践

SSM框架(Spring+SpringMVC+MyBatis)是当前JavaWeb开发的主流技术组合,特别适合构建中小型Web应用。Spring框架通过依赖注入和面向切面编程实现松耦合,SpringMVC处理Web层请求,MyBatis则提供灵活的数据库访问能力。这种架构在保证开发效率的同时,也能满足性能需求,广泛应用于内容管理系统、电商平台和社区论坛等场景。本文以美食论坛系统为例,详细解析了SSM框架的技术实现,包括用户认证、内容管理、数据库优化等核心模块,并分享了LayUI前端框架与MySQL性能调优的

weixin_34072296的博客 256

基于SSM+MySQL+Layui的企业库存信息管理系统

登陆库存信息库存详细信息入库记录出库记录产品信息仓库信息客户信息客户信息用户管理操作日志登陆开发工具: Idea/Eclipse 数据库: mysql Jar包仓库: 普通jar包 前段框架:jquery 后端框架: Spring+SpringMVC+Mybatis...

code51博客 539

基于SSM+Layui的图书管理系统(6)---读者管理功能开发

前言 读者管理也和之前类似,dao->service->controller+jsp 功能实现 先写ReaderCardMapper.java dao层 在其中加入查询所有读者信息的方法 /** * 查询所有借阅者信息 */ List<ReaderCard> queryAllReaderInfo(ReaderCard readerCard); ReaderCardMapper.xml加入,可以通过用户名、tel、cardnumber进行高级查询 &

小样yx的博客 1295

基于SSM框架的资产评估业务管理系统设计与实现

在Java Web开发领域,SSM框架长期是中小企业级应用与教学实践的主流组合。Spring负责对象生命周期管理,SpringMVC统一请求分发,MyBatis通过动态SQL简化数据持久化操作,三者结合构建出清晰的分层架构。这种架构模型不仅降低了业务逻辑与数据访问的耦合度,也让开发者能够快速搭建可维护的信息管理系统。以固定资产、评估机构、报告生成为核心的资产评估业务管理系统,正是SSM整合全流程的典型应用场景。它涵盖用户权限、资产信息、评估项目、报告管理等模块,通过业务表单串联多表关系,适合作为Java毕业

weixin_30603633的博客 403

SSM框架下一个简单的模糊查询(超级详细)

模糊查询作为后台常用的一种查询方式,我们可以根据相应的 关键字对其检索,从而获得所需要的记录,本次模糊查询我们通过名字的任何一个字段进行匹配查询。

liqz666的博客 4万+
上一篇: 记录一次layui 设置弹出lay.msg后定时关闭弹出层
下一篇: 记录一次layui的启停用监听事件
倾听心跳的频率灬
博客等级 码龄8年 13粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值