若依学习——BaseController类(PageHelper)

news2024/12/24 9:51:57

若依的许多controller都继承了BaseController类,学习一下里面的几个方法。

1、initBinder()方法

查了一下,好像是用来解决前端出传来的属性与后端绑定的,不常用,知道个大概就行,详情;

(149条消息) springMVC之@InitBinder的用法_wang0907的博客-CSDN博客
@InitBinder注解的使用

这里使用这个@InitBinder注解是为了解决前端传来的时间为字符串,而后端直接用date接受报错的问题,但是感觉还是@JsonFormat、@DateTimeFormat处理比较常见,详情可以查看

@JsonFormat 和 @DateTimeFormat 的区别与使用?
  1. startPage()

这里只是简单的封装了一下pageHelper的startpage()方法,关于setReasonable(reasonable)合理化,就是

启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页; 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据。
若依当中默认开启。
场景:开启后。文章输入搜索100页(但是没那么多页),因此只显示最后一页

(149条消息) pageHelper分页合理化_pagehelper 分页合理化_在启航的博客-CSDN博客

若依还在这里做了防止sql注入的操作,对于排序段进行了防止sql注入,

举个例子加入原来的sql :select..order by name

恶意操作:select..oorder by name ;delete ...

像这样在末尾添加了分号,然后执行一写不好的操作。

因此若依对此处理了一下。进行正则匹配排除了分号;

关于这个正则表达式 [a-zA-Z0-9_\\ \\,\\.]+ 解释如下

除此之外还提供了一个filterKeyword方法来检查参数里面是否存在sql关键字检查,就是定义了一些sql关键字,来和传入的val进行匹配。

value.indexOf(sqlKeyword)> -1) 一样的
StringUtils.indexOf(value, sqlKeyword) > -1

这个方法被用在分页查询,就是简单的封装了一下pageHelper的startpage方法

后面的getDataTable(list)就只是简单的封装了一下分页的返回结果罢了

若依当中分页插件的相关配置

PageHelper分页插件 https://blog.csdn.net/weixin_57701024/article/details/120233643

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/386509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于自抗扰控制ADRC的主动悬架控制

目录 前言 1. 悬架系统 2.ADRC流程图 3.仿真分析 3.1 性能指标和观测效果对比 3.2控制输入对比 3.3 性能指标均方根对比 4.总结 前言 之前通过4篇文章介绍了ADRC&#xff0c;并且在最后一篇文章中进行了总结和应用&#xff0c;本篇文章继续将其应用于悬架对象上&am…

Mysql高级之索引结构详解

Mysql的索引详解1.索引定义2.索引结构2.1数据结构分析2.1.1熟知的数据结构2.1.2分析为什么这么多的数据结构不全适用于索引结构2.2Hash结构2.3B tree结构3.索引分类3.1聚集索引&#xff08;聚簇索引&#xff09;3.2非聚集索引&#xff08;稀疏索引&#xff09;3.3联合索引3.4主…

用于健康医疗的AI计算机视觉:使提供者能够增强患者护理

通过模仿和充当人力的力量&#xff0c;人工智能驱动的计算机视觉技术正在帮助医疗保健行业的医生、护士和企业更好地满足患者的需求。例如通过实时视频分析新见解可帮助他们节省时间、金钱和生命&#xff0c;同时为从患者入院到手术室等各个方面开发更安全、更高效的流程。用于…

java面试八股文之------Redis夺命连环25问

java面试八股文之------Redis夺命连环25问&#x1f468;‍&#x1f393;1.为什么redis这么快&#x1f468;‍&#x1f393;2.redis的应用场景&#xff0c;为什么要用&#x1f468;‍&#x1f393;3.redis6.0之前为什么一直不使用多线程&#xff0c;6.0为甚么又使用多线程了&…

Spring Cloud融合Nacos实现服务配置中心 | Spring Cloud 7

一、服务配置中心 先我们来看一下,微服务架构下关于配置文件的一些问题&#xff1a; 配置文件相对分散。在一个微服务架构下&#xff0c;配置文件会随着微服务的增多变的越来越多&#xff0c;而且分散在各个微服务中&#xff0c;不好统一配置和管理。 配置文件无法区分环境&a…

jQuery和ajax案例练习

jQuery和ajax案例练习1.使用jquery修改div元素的背景色(随意颜色)2.使用jquery修改div的子元素p的内容为"我是子元素"3.使用jquery修改第二个p元素的背景色为"orange"4.使用jQuery添加文本的方式将“添加的文本”追加到p标签的后方5.删除列表元素中最后一个…

理解依赖注入(DI – Dependency Injection)

文章目录依赖注入1.provide(提供)1.1 在选项式 API 中&#xff0c;可通过provide选项为后代提供数据1.2 如果想访问到组件的实例this&#xff0c;provide必须采用函数的方式&#xff08;不能用箭头函数&#xff09;&#xff0c;为保证注入方和供给方之间的响应性链接&#xff0…

K8s:开源安全平台 kubescape 实现 Pod 的安全合规检查/镜像漏洞扫描

写在前面 生产环境中的 k8s 集群安全不可忽略&#xff0c;即使是内网环境容器化的应用部署虽然本质上没有变化&#xff0c;始终是机器上的一个进程但是提高了安全问题的处理的复杂性分享一个开源的 k8s 集群安全合规检查/漏洞扫描 工具 kubescape博文内容涉及&#xff1a; kube…

工控机如何安装Python

钡铼技术BL302基于arm架构工控机&#xff0c;采用NXP的高性能处理器I.MX6ULL 运行速度高达800MHz&#xff0c;并配有8GFlash空间和512M RAM&#xff0c;硬件接口有2个网口、2个串口、1个USB口、1个SD卡卡槽、1个HDMI显示接口&#xff0c;可运行LINUX、Ubuntu、Debian等OS&#…

项目管理:如何做到项目信息透明?

项目管理中&#xff0c;管理者最担心的问题是什么&#xff1f;方项目进度不透明&#xff0c;项目的进展不明确&#xff0c;使用项目管理工具让项目进度一目了然。 1、项目管理必须目标明确。 明确的目标能够更好地指导接下来的一系列项目管理工作。 2、项目管理必须资源配置…

Redis缓存一致

背景介绍&#xff1a; redis是一个key-value存储系统。它支持存储的value类型相对更多&#xff0c;包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash&#xff08;哈希类型&#xff09;。这些数据类型都支持push/pop、add/remove及取交集并集和差…

2023 工业互联网平台:智慧制硅厂 Web SCADA 生产线

我国目前是全球最大的工业硅生产国、消费国和贸易国&#xff0c;且未来该产业的主要增量也将来源于我国。绿色低碳发展已成为全球大趋势和国际社会的共识&#xff0c;随着我国“双碳”目标的推进&#xff0c;光伏产业链快速发展&#xff0c;在光伏装机需求的带动下&#xff0c;…

干货分享!PCBA元器件间距的可焊性设计

“ SMT贴片加工逐步往高密度、细间距的设计发展&#xff0c;元器件的最小间距设计需考虑smt厂家的经验程度和工艺是否完善。元器件最小间距的设计除了保证smt焊盘间不易短接的安全间距外&#xff0c;还应考虑元器件的可维护性。 ” 元器件布局为什么要保证安全间距&#xff…

喜讯!华秋电子荣获第六届“高新杯”十大优秀企业奖

2月22日&#xff0c;由中科为集团与广东高科技产业商会联合举办的“第六届‘高新杯’十大优秀高新企业颁奖典礼暨2023年高新企业高质量发展春茗会”&#xff0c;在深圳隆重举行。 中科为集团自2014年举办首届“高新杯”以来&#xff0c;已主办了5届&#xff0c;共计600多家企业…

如何在CSDN上赚钱:CSDN收益渠道分析

文章目录说明哪些人&#xff0c;哪些资源赚到了钱&#xff1f;上传付费资源的策略一些经验说明 在CSDN平台上要想获得回报&#xff0c;主要的渠道&#xff1a; 付费资源付费专栏文章打赏 这三个都有门槛&#xff0c;上传付费资源需要原力等级达到Lv5&#xff0c;粉丝数500&a…

微信怎么发文字朋友圈?简单快捷的方法,只需1分钟

微信是一个非常受欢迎的聊天工具&#xff0c;也是一个交友&#xff0c;分享生活的平台。其中&#xff0c;朋友圈是最受欢迎的功能之一&#xff0c;让我们可以与好友分享自己的生活点滴&#xff0c;也能够关注他人的动态。那么微信怎么发文字朋友圈呢&#xff1f;下面跟着小编一…

tensorflow lite简介-移动设备端机器学习

TensorFlow Lite 是一组工具&#xff0c;可帮助开发者在移动设备、嵌入式设备和 loT 设备上运行模型&#xff0c;以便实现设备端机器学习。 支持多平台 支持多种平台&#xff0c;涵盖 Android 和 iOS 设备、嵌入式 Linux 和微控制器。 原理/流程 工作原理或者使用流程就是上面…

物联网WEB大屏数据可视化

最近了解WEB大屏显示。一般像嵌入式这类的&#xff0c;MQTT协议会走的多一些&#xff0c;走订阅和发布的策略&#xff0c;网上走了一圈之后&#xff0c;目前有几个实现方案。这里对比一下几个物联网协议&#xff0c;相对而言MQTT更合适物联网&#xff0c;其它几个协议不是干这个…

ChatGPT解答:安卓APP耗电量测试方案和源码,用Android代码实现

ChatGPT解答&#xff1a;安卓APP耗电量测试方案和源码&#xff0c;用Android代码实现 安卓APP耗电量测试方案和源码&#xff0c;用Android代码实现 作为一名AI助手&#xff0c;我不会编写代码&#xff0c;但我可以为您提供一些关于安卓APP耗电量测试方案和源码的信息和建议。 …

Web前端:2023年React最佳实践

大多数前端开发人员都希望React JS能成为他们的武器库&#xff0c;来创建独特的、前沿的用户界面。1.重要文件组织服务于相似功能并且被设计为使用某一特征的文件应该被保存在一起。例如&#xff0c;与单个组件相关的所有样式文件和其他文件应该位于同一位置。在这种做法的帮助…