当前位置: 首页 > 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 语句。

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

相关文章:

  • Shell echo、printf、test命令
  • 腾讯云主机Ubuntu22.04安装Odoo17
  • conda常用命令详解
  • Java面试——锁
  • Spring Boot与Netty:构建高性能的网络应用
  • ARMv8-AArch64 的异常处理模型详解之异常处理详解(同步异常和异步异常的分析和处理)
  • Elasticsearch:基于 Langchain 的 Elasticsearch Agent 对文档的搜索
  • 学习python的第7天,她不再开放她的听歌榜单
  • 多维时序 | Matlab实现CPO-BiTCN-BiGRU冠豪猪优化时间卷积神经网络双向门控循环单元多变量时间序列预测模型
  • 低代码与大语言模型的探索实践
  • element导航菜单el-menu添加搜索功能
  • 浅析SpringBoot框架常见未授权访问漏洞
  • PostgreSQL内存上下文系统设计概述
  • C++ 网络编程学习二
  • SpringMVC 学习(四)之获取请求参数
  • 多模态表征—CLIP及中文版Chinese-CLIP:理论讲解、代码微调与论文阅读
  • Git本地分支关联远程分支
  • [FT]chatglm2微调
  • AI赋能Oracle DBA:以自然语言与Oracle数据库互动
  • Django学习记录04——靓号管理整合
  • AD9226 65M采样 模数转换
  • 远程控制桌面,让电脑办公更简单
  • 猫头虎分享已解决Bug || 网络连接问题:NetworkError: Failed to fetch
  • Layer1 明星项目 Partisia Blockchain 何以打造互操作、可创新的数字经济网络
  • 用CSS制作弧形卡片的三种创意方法!
  • 守护健康之光 —— 小脑萎缩患者的生活指南
  • CSS选择器:让样式精确命中目标
  • 前端不传被删记录的id怎么删除记录,或子表如何删除记录
  • axios的基本特性用法
  • 打印水仙花数---c语言刷题