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

mybatis---->tx中weekend类

🙌首先weekend可不是mybatis中的类呦~~🙌
它是来自于mybatis的一个扩展库!

如果你要在springboot中使用,需要引入以下依赖~~
<dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId>
</dependency>

这个库是由第三方提供的,独立于 MyBatis 官方的持久层框架。
它提供了一系列的便捷方法,使得在 MyBatis 中进行单表操作时,可以不编写或者极少编写SQL语句和Mapper XML文件。tk.mybatis.mapper.weekend 包中包含的 Weekend 类,正是这个库用来支持灵活的条件查询的工具之一。

在这个包tk.mybatis.mapper.weekend中它是基于Weekend 和 WeekendCriteria 类构建的。其中最核心的通常是Weekend和WeekendSqls。
下面我对个别方法进行解释:

weekend中:
weekendCriteria(): 这个方法用于创建一个WeekendCriteria对象,该对象用于构建具体的查询条件。比如,你可以通过这个对象添加各种where条件。
orderBy(String property): 用于添加排序条件。你需要传入一个实体类的属性名,基于这个属性进行排序。WeekendSqls中:
WeekendSqls是一个工具类,用于以更流畅的API方式快速构建查询条件。
WeekendSqls<T> custom(): 静态方法,用于开始构建查询条件。
andEqualTo(Object property, Object value): 添加一个等于的条件,其中property是实体类的属性名,value是对应的值。
andGreaterThan(Object property, Object value): 添加一个大于的条件。
andLessThan(Object property, Object value): 添加一个小于的条件。
等等,还有很多类似的方法用于构建不同类型的查询条件。

作用

Weekend 类的作用是提供了一个流式编程的接口,使得动态 SQL 的构建更加易于阅读和编写。它主要用于构建复杂的查询条件,而不需要编写具体的 SQL 语句。通过链式调用,可以组合各种查询条件,如排序、分组、去重等。

如何使用
Weekend 类通常与 WeekendSqls 类一起使用。这里是一个使用 Weekend 类和 WeekendSqls 创建查询条件的例子:

Weekend<User> weekend = Weekend.of(User.class);
weekend.weekendCriteria().andEqualTo(User::getUserName, "Alice").andBetween(User::getAge, 18, 30).andIn(User::getOccupation, Arrays.asList("Developer", "Designer"));

在上述代码中:
Weekend.of(User.class) 创建了一个针对 User 类的 Weekend 实例。
weekendCriteria() 方法开始构建查询条件。
andEqualTo、andBetween、andIn 方法分别添加了相等、区间和 IN 条件。

优势:

使用 Weekend 类的优势在于:
代码的清晰性:它提供了一种更声明性的方法来构建查询条件,而不是拼接字符串或编写 XML 映射文件
类型安全:由于它利用了 Java 8 的 Lambda 表达式和类型推断,因此在编译时就能捕获某些类型错误。
减少样板代码:它减少了为每个查询编写和维护大量 SQL 语句的需要。

最后需要注意的是:
要使用 Weekend 类,通常需要在项目中添加 MyBatis 通用 Mapper 插件的依赖,并且需要了解如何与 MyBatis 配置和映射器接口一起使用。此外,Weekend 类是一个特定于该插件的实用工具,不是 MyBatis 核心库的一部分,因此在不使用通用 Mapper 插件的项目中不会有这个类。

在tk.mybatis.mapper.weekend包中,WeekendCriteria和WeekendSqls 有什么关系?

功能定位:
WeekendCriteria 可能是用于构建查询条件的类,允许开发者以更直观的方式指定过滤条件,例如通过链式调用设置属性等于、不等于、大于等复杂条件。
WeekendSqls 可能是根据 WeekendCriteria 所定义的条件动态生成相应的 SQL 语句的类或工具。

工作机制:
开发者首先使用 WeekendCriteria 来定义查询条件,包括哪些字段需要被匹配以及匹配的具体规则。
然后,WeekendSqls 可能会接受这些条件作为输入,并转化为有效的 SQL 语句,这些语句可以被 MyBatis 执行以查询数据库。

使用流程:
在代码中,可能首先创建一个 WeekendCriteria 对象,并利用提供的方法来构建查询的条件。
接着,这个 WeekendCriteria 对象会被传递给 WeekendSqls 或类似的机制,用于生成最终的 SQL 语句。

相关文章:

mybatis---->tx中weekend类

&#x1f64c;首先weekend可不是mybatis中的类呦~~&#x1f64c; 它是来自于mybatis的一个扩展库&#xff01; 如果你要在springboot中使用&#xff0c;需要引入以下依赖~~ <dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot…...

Shell echo、printf、test命令

目录 Shell echo命令 打印文本消息 显示变量值 输出特殊字符 输出到文件 追加到文件 Shell printf 命令 打印简单文本 Shell test 命令 文件测试 字符串比较 整数比较 逻辑运算 Shell echo命令 打印文本消息 echo "Hello, World!" 显示变量值 name&q…...

腾讯云主机Ubuntu22.04安装Odoo17

一、安装PostgreSQL16 参见之前的文章 Ubuntu22.04安装PostgreSQL-CSDN博客 二、安装Odoo17 本方案使用的nightly版的odoo&#xff0c;安装的都是最新版odoo wget -O - https://nightly.odoo.com/odoo.key | apt-key add - echo "deb http://nightly.odoo.com/17.0/n…...

conda常用命令详解

Conda 是一个功能强大的包管理器和环境管理器&#xff0c;用于安装、部署和管理软件包和其依赖关系。下面是一些常用的 Conda 命令及其详细解释&#xff1a; 创建环境&#xff1a; conda create --name myenv python3.8可以指定创建环境的目录conda create --prefix /path/to/d…...

Java面试——锁

​ 公平锁&#xff1a; 是指多个线程按照申请锁的顺序来获取锁&#xff0c;有点先来后到的意思。在并发环境中&#xff0c;每个线程在获取锁时会先查看此锁维护的队列&#xff0c;如果为空&#xff0c;或者当前线程是等待队列的第一个&#xff0c;就占有锁&#xff0c;否则就会…...

Spring Boot与Netty:构建高性能的网络应用

点击下载《Spring Boot与Netty&#xff1a;构建高性能的网络应用》 1. 前言 本文将详细探讨如何在Spring Boot应用中集成Netty&#xff0c;以构建高性能的网络应用。我们将首先了解Netty的原理和优势&#xff0c;然后介绍如何在Spring Boot项目中集成Netty&#xff0c;包括详…...

ARMv8-AArch64 的异常处理模型详解之异常处理详解(同步异常和异步异常的分析和处理)

这里写目录标题 一&#xff0c;同步异常的分析1.1 同步异常分析-异常链接寄存器ELR1.2 同步异常分析-异常综合寄存器ESR&#xff0c;Exception Syndrome Register1.3 同步异常分析-错误地址寄存器FAR,Fault Address Register 二&#xff0c; 同步异常的处理示例 Synchronous ex…...

Elasticsearch:基于 Langchain 的 Elasticsearch Agent 对文档的搜索

在今天的文章中&#xff0c;我们将重点介绍如何使用 LangChain 提供的基础设施在 Python 中构建 Elasticsearch agent。 该 agent 应允许用户以自然语言询问有关 Elasticsearch 集群中数据的问题。 Elasticsearch 是一个强大的搜索引擎&#xff0c;支持词法和向量搜索。 Elast…...

学习python的第7天,她不再开放她的听歌榜单

我下午登录上小号&#xff0c;打开聊天消息看到了她的回复&#xff0c;我很开心兴奋&#xff0c;可是她不再开放她的听歌榜单了&#xff0c;我感觉得到&#xff0c;我要失恋了。 “因为当年电视上看没有王菲版本的” “行”。 “那你以后还会开放听歌榜单吗&#xff1f;”我…...

多维时序 | Matlab实现CPO-BiTCN-BiGRU冠豪猪优化时间卷积神经网络双向门控循环单元多变量时间序列预测模型

多维时序 | Matlab实现CPO-BiTCN-BiGRU冠豪猪优化时间卷积神经网络双向门控循环单元多变量时间序列预测模型 目录 多维时序 | Matlab实现CPO-BiTCN-BiGRU冠豪猪优化时间卷积神经网络双向门控循环单元多变量时间序列预测模型预测效果基本介绍程序设计参考资料 预测效果 基本介绍…...

低代码与大语言模型的探索实践

低代码系列文章&#xff1a; 可视化拖拽组件库一些技术要点原理分析可视化拖拽组件库一些技术要点原理分析&#xff08;二&#xff09;可视化拖拽组件库一些技术要点原理分析&#xff08;三&#xff09;可视化拖拽组件库一些技术要点原理分析&#xff08;四&#xff09;低代码…...

element导航菜单el-menu添加搜索功能

element导航菜单-侧栏&#xff0c;自带的功能没有搜索或者模糊查询。 找了找资料 找到一个比较可行的&#xff0c;记录一下&#xff1a; //index.vue的代码 <div style"overflow:auto"><el-menu :default-active"$route.path":default-openeds&…...

浅析SpringBoot框架常见未授权访问漏洞

文章目录 前言Swagger未授权访问RESTful API 设计风格swagger-ui 未授权访问swagger 接口批量探测 Springboot Actuator未授权访问数据利用未授权访问防御手段漏洞自动化检测工具 CVE-2022-22947 RCE漏洞原理分析与复现漏洞自动化利用工具 其他常见未授权访问Druid未授权访问漏…...

PostgreSQL内存上下文系统设计概述

PostgreSQL内存上下文系统设计概述 原文:src/backend/utils/mmgr/README 背景 我们在“内存上下文”中进行大部分内存分配&#xff0c;通常是AllocSets由src/backend/utils/mmgr/aset.c实现。在没有大量开销的情况下成功进行内存管理的关键是定义一组具有适当生命周期的有用…...

C++ 网络编程学习二

C 网络编程学习二 asio异步写操作asio异步读操作asio 异步echo服务端asio异步服务器中存在的隐患 asio异步写操作 async_write_some是异步写的函数&#xff1a;传入buffer和回调函数以及参数以后&#xff0c;发送后会调用回调函数。 void Session::WriteToSocketErr(const st…...

SpringMVC 学习(四)之获取请求参数

目录 1 通过 HttpServletRequest 获取请求参数 2 通过控制器方法的形参获取请求参数 3 通过 POJO 获取请求参数&#xff08;重点&#xff09; 1 通过 HttpServletRequest 获取请求参数 public String handler1(HttpServletRequest request) <form action"${pageCont…...

多模态表征—CLIP及中文版Chinese-CLIP:理论讲解、代码微调与论文阅读

我之前一直在使用CLIP/Chinese-CLIP&#xff0c;但并未进行过系统的疏导。这次正好可以详细解释一下。相比于CLIP模型&#xff0c;Chinese-CLIP更适合我们的应用和微调&#xff0c;因为原始的CLIP模型只支持英文&#xff0c;对于我们的中文应用来说不够友好。Chinese-CLIP很好地…...

Git本地分支关联远程分支

Git本地分支关联远程分支 本地分支相关操作 查看本地分支 git branch新建本地分支 git branch name切换本地分支 git checkout name新建本地分支并切换到该分支 git checkout -b name #或 git branch name删除本地分支 git branch -d name git branch -D name #强制删除远程分…...

[FT]chatglm2微调

1.准备工作 显卡一张&#xff1a;A卡&#xff0c;H卡都可以&#xff0c;微调需要一张&#xff0c;大概显存得30~40G吧环境安装&#xff1a; 尽量在虚拟环境安装&#xff1a;参见&#xff0c;https://blog.csdn.net/u010212101/article/details/103351853环境安装参见&#xff…...

AI赋能Oracle DBA:以自然语言与Oracle数据库互动

DBA AI助手&#xff1a;以自然语言与Oracle数据库互动 0. 引言1. AI赋能Oracle DBA的优势2. AI如何与Oracle数据库交互3. 自然语言查询的一些示例4. 未来展望 0. 引言 传统的Oracle数据库管理 (DBA) 依赖于人工操作&#xff0c;包括编写复杂的SQL语句、分析性能指标和解决各种…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...