当前位置: 首页 > news >正文

springboot项目使用Layui作为前端UI的一系列前后端交互的解决方法

背景: 因为比较喜欢Layui,因为多个项目都是从零开始就使用的layui开发的,并且开发过程中借鉴了很多其他项目(如Ruoyi、Pear Admin),因此最终选用大部分Pear Admin的项目中使用的一系列解决方案,并再次记录一些对开发非常有帮助的一些用例

1. layui框架表格默认接收格式,以及默认的分页规则(为了方便开发,节省代码,因此统一列表返回值,为了节省代码使用 PageHelper作为分页插件)

Controller.java

@SysLogAnnotation(operModul = "日志查询", operType = "查询", operDesc = "操作日志查询")@RequestMapping("/getSysLog")public ResultTable getSysLog(SysLog log) {PageInfo<SysLog> pageInfo = logService.getLogList(log);return pageTable(pageInfo.getList(), pageInfo.getTotal());}

        serviceImpl.java

public PageInfo<SysLog> getLogList(SysLog s) {PageHelper.startPage(s.getPage(), s.getLimit());List<SysLog> list = logDao.getLogList(s);return new PageInfo<>(list); //操作日志中专门解析了分页插件获取的数据}

 mapper.java

import java.util.List;@Mapper   //要在java中写sql就需要这个注解, 如果使用mybatis plus的基础方法那 @Repository一个注解就搞定
@Repository
public interface LogMapper{@Select({"<script>select * from sys_log where 1=1  "+ " <if test='createTime !=null and createTime != \"\" '>"+ "    AND substring(createTime::text, 0, 11) &gt;= substring(#{createTime}, 0, 11)" //数据库中的时间10位之前即可,前台传的有空格所以是11+ "    AND substring(createTime::text, 0, 11) &lt;= substring(#{createTime}, 14)"+ " </if>"+ " <if test='type !=null and type != \"\" '> AND type = #{type} </if> "+ " <if test='result !=null and result != \"\" '> AND result like '%'|| #{result}||'%' </if> "+ "<if test='username !=null and username != \"\" '> AND username like '%'|| #{username}||'%' </if> "+ "order by createtime desc </script>"})List<SysLog> getLogList(SysLog l);  //查询操作日志}

2. 操作日志(获取接口返回值时,因为等保的原因公司规定需要把每一项操作的结果返回,因此这时就体现出了统一返回值的好处了)

if (result instanceof ResultTable) {//分页插件返回layui 格式数据returnResult = operType+"了" + ((ResultTable) result).getCount()+"条数据" ;
}
这样在操作日志切入类中根据返回值类型就能拿到实际的操作结果

   

http://www.lryc.cn/news/259641.html

相关文章:

  • 【Linux】Firewalld防火墙新增端口、开启、查看等
  • 学习笔记 -- TVS管选型参考
  • 功能更新|免费敏捷工具Leangoo领歌私有部署新增第三方身份认证和API对接
  • 重生奇迹mu战士加点
  • 【数据结构(十一·多路查找树)】B树、B+树、B*树(6)
  • 弟弟的作业
  • 代码随想录算法训练营第37天|● 738.单调递增的数字 ● 968.监控二叉树 ● 总结
  • 出现 java: 找不到符号 符号: 变量 log 的解决方法
  • 大数据机器学习与深度学习—— 生成对抗网络(GAN)
  • vue前端访问Django channels WebSocket失败
  • 厉害了!水浸监控技术有升级啦
  • 【开题报告】基于SpringBoot的大学生心理教育平台的设计与实现
  • 376. 摆动序列
  • 现在个人想上架微信小游戏已经这么难了吗...
  • C语言数据结构-----二叉树(2)堆的深入理解及应用、链式二叉树的讲解及代码实现
  • 【算法】【动规】等差数列划分
  • 系统架构设计师教程(五)软件工程基础知识
  • 计算机中的文件管理
  • Linux常见排错思路及命令
  • 【springboot】【easyexcel】excel文件读取
  • 【STM32】ADC模数转换器
  • Git篇---第九篇
  • Paper Reading: (ACRST) 基于自适应类再平衡自训练的半监督目标检测
  • 2023年贺岁电影:一眼多,二眼好多
  • 软件测试面试中基础与功能的问题
  • map|二分查找|离线查询|LeetCode:2736最大和查询
  • 你知道Java中的BigInteger类和BigDecimal类吗?
  • 33.搜索旋转排序数组
  • 【unity】【WebRTC】从0开始创建一个Unity远程媒体流app-设置输入设备
  • Redis持久化AOF详解