Mybatis-Plus和Redis相关技术支持

news/2025/3/12 20:24:52/文章来源:https://www.cnblogs.com/lin-ting-feng/p/18768421

Mybatis-Plus相关技术支持

条件构建器

除了查询以外,修改、删除的SQL语句都需要指定where条件。因此BaseMapper中提供的相关方法除了以id作为where条件以外,还支持更加复杂的where条件。

MyBatis-Plus 提供了几种类型的条件构造器:
1.QueryWrapper:用于组装查询条件。
2.UpdateWrapper:用于更新操作时组装查询条件和更新字段。
3.LambdaQueryWrapper 和 LambdaUpdateWrapper:支持使用 lambda 表达式来避免硬编码字符串,减少出错的可能性。
常用方法介绍
eq:等于某个值。
ne:不等于某个值。
gt:大于某个值。
ge:大于等于某个值。
lt:小于某个值。
le:小于等于某个值。
like:模糊匹配。
between:在两个值之间。
isNull / isNotNull:判断是否为空或非空。
orderByAsc / orderByDesc:升序/降序排序。

IService接口

Mybatis-Plus不仅提供了BaseMapper,还提供了通用的Service接口及默认实现,封装了一些常用的service模板方法。 通用接口为IService,默认实现为ServiceImpl,其中封装的方法可以分为以下几类

- save:新增
- remove:删除
- update:更新
- get:查询单个结果
- list:查询集合结果
- count:计数
- page:分页查询

Redis相关技术支持

Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件

Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:

  • 字符串 string
  • 哈希 hash
  • 列表 list
  • 无序集合 set
  • 有序集合 zset

Spring Data Redis中提供了一个高度封装的类:RedisTemplate,对相关api进行了归类封装,将同一类型操作封装为Operation接口,具体分类如下:

  • ValueOperations:string数据操作 (opsForValue)
  • HashOperations:hash类型的数据操作 (opsForHash)
  • SetOperations:set类型数据操作 (opsForSet)
  • ZSetOperations:zset类型数据操作 (opsForZset)
  • ListOperations:list类型的数据操作 (opsForList)

特别的:

在Redis中,冒号通常用作键的命名约定,可以创建层次结构,类似于文件系统中的路径结构,提升查找效率

一般设置一个常量作为Key名称的拼接,表示存在相同的路径下。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【设计模式】使用解释器模式简化复杂的语法规则

概述如上图,设计一个软件用来进行加减计算。我们第一想法就是使用工具类,提供对应的加法和减法的工具方法。 //用于两个整数相加 public static int add(int a,int b){return a + b; }//用于两个整数相加 public static int add(int a,int b,int c){return a + b + c; }//用于…

20243106 实验一《Python程序设计》实验报告

20243106 2024-2025-2 《Python程序设计》实验x报告 课程:《Python程序设计》 班级: 2431 姓名: 董洪瑞 学号:20243106 实验教师:王志强 实验日期:2025年3月12日 必修/选修: 公选课 1.实验内容 猜数字啊 2. 实验过程及结果3. 实验代码 import random level=int(input(&q…

Android的不同布局

LinearLayout线性布局:根据orientation的属性值排布:当属性值为horizontal时,在视图水平方向从左向右排列;当属性值为vertical时,在视图垂直方向从上向下排列。 RelativelLayout相对布局:GridLayout网格布局:默认从左往右,从上到下的布局。定义了两个新的属性: column…

【设计模式】备忘录模式教你如何优雅地处理状态快照

概述 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,很多软件都提供了撤销(Undo)操作,如 Word、记事本、Photoshop、IDEA等软件在编辑时按 Ctrl+Z 组合键时能…

20243113 实验一《Python程序设计》实验报告

20243113 2025-3-12 《Python程序设计》实验一报告 课程:《Python程序设计》 班级: 2431 姓名: 应超群 学号:20243113 实验教师:王志强 实验日期:2025年3月12日 必修/选修: 公选课 1.实验内容 1.熟悉Python开发环境; 2.练习Python运行、调试技能;(编写书中的程序,…

【设计模式】通过访问者模式实现分离算法与对象结构

概述 定义:封装一些作用于某种数据结构中的各元素的操作(将数据结构于元素进行分离),它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 结构 访问者模式包含以下主要角色:抽象访问者(Visitor)角色:定义了对每一个元素(Element)访问的行为,它的参数就…

【设计模式】遍历集合的艺术:深入探索迭代器模式的无限可能

概述 定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 结构 迭代器模式主要包含以下角色:抽象聚合(Aggregate)角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。具体聚合(ConcreteAggregate)角色:实现抽象聚合类,返回一…

北京大学!121页,《DeepSeek私有化部署和一体机》讲透DeepSeek的私有化部署!(PDF免费下载)

北京大学肖睿团队发布的《DeepSeek私有化部署技术白皮书》,系统揭示了国产大模型从实验室走向产业落地的完整路径。这份文档的核心价值,在于打破“私有化部署=高性能硬件堆砌”的固有认知,提出一套覆盖个人电脑、边缘设备到企业级集群的弹性部署体系。北京大学肖睿团队发布的…

leetcode hot 25

解题思路:这题就是正常模拟,我用三个指针,left,mid,right,从dummy_head开始,一直交换即可。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* …

leetcode hot 24

解题思路:这题的思路就是让一个指针先走n步,然后再用另一个指针同步走,直到先走的指针的next为null,然后后面的指针的后一个指针删掉即可。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* …

leetcode hot 23

解题思路:我的思路对两个不等长的链表进行补0,短链表前面补0直到与长链表相等,然后对两个链表同步遍历,在list1上保存结果,用sum存储中间加法值,add保存进位,直到遍历结束,最后如果add=1,就在后面节点再加1,最后返回list1的头结点。 /*** Definition for singly-linke…

JS梳理之手写Promise

前提 promise 是一个代理,它代表一个在创建 promise 时不一定已知的值。 它允许你将处理程序与异步操作的最终成功值或失败原因关联起来。 这使得异步方法可以像同步方法一样返回值:异步方法不会立即返回最终值,而是返回一个 promise,以便在将来的某个时间点提供该值。 简要…