工作学习笔记(十九)MyBatis—Plus中的BaseMapper

news/2024/12/5 0:06:46/文章来源:https://www.cnblogs.com/zjw111/p/18587576
  • 定义与作用

MyBatis - Plus 中的BaseMapper是一个接口,它提供了一系列通用的数据库操作方法。这些方法涵盖了常见的增删改查(CRUD)操作,是 MyBatis - Plus 简化数据库访问层开发的重要组件。

  • 常用方法介绍

    1. 插入操作

int insert(T entity):这个方法用于插入一条记录。参数entity是要插入的实体对象,它的类型由继承BaseMapper接口时指定的泛型决定。。在内部,MyBatis - Plus 会根据实体对象的属性自动生成插入语句并执行插入操作,返回值是插入操作影响的行数。

  • 2.删除操作

int deleteById(Serializable id):用于根据主键id删除一条记录。其中Serializable是主键的类型,通常是像Long、Integer等可以序列化的类型。它会生成类似DELETE FROM table_name WHERE id =?的 SQL 语句并执行。

int deleteByMap(@Param("cm") Map<String, Object> columnMap):可以根据一个Map对象中的键值对来构建删除条件。例如,如果columnMap中包含"name": "John"和"age": 20,那么就会生成DELETE FROM table_name WHERE name = 'John' AND age = 20这样的 SQL 语句进行删除操作。

int delete(@Param("ew") Wrapper<T> wrapper):这个方法是通过Wrapper对象来构建复杂的删除条件。Wrapper是 MyBatis - Plus 中用于条件构造的强大工具,可以实现动态的、灵活的条件组合,如eq(等于)、ne(不等于)、like(模糊匹配)等条件。

  • 更新操作

int updateById(T entity):根据实体对象的主键来更新记录。它会将实体对象中的非空属性更新到数据库中对应的记录上。例如,如果User对象的id为 1,并且name属性有新的值,那么就会执行更新语句将name字段的值更新到id为 1 的记录中。

int update(@Param("et") T entity, @Param("ew") Wrapper<T> wrapper):通过Wrapper对象构建更新条件,并且使用实体对象entity来指定更新后的内容。这使得可以在更复杂的场景下进行更新操作,比如只更新满足特定条件的部分记录。

  • 查询操作

T selectById(Serializable id):根据主键id查询一条记录,并返回对应的实体对象。如果没有找到记录,则返回null。

List<T> selectBatchIds(@Param("idList") Collection<? extends Serializable> idList):可以批量查询多条记录,参数idList是一个包含主键值的集合,如List,它会返回一个包含查询到的实体对象的列表。

List<T> selectByMap(@Param("cm") Map<String, Object> columnMap):根据Map对象中的键值对条件来查询记录,返回符合条件的实体对象列表。

List<T> selectList(@Param("ew") Wrapper<T> wrapper):通过Wrapper对象构建查询条件,返回满足条件的实体对象列表。这是一个非常灵活的查询方法,可以实现各种复杂的查询需求,如多条件查询、模糊查询等。
Page selectPage(IPage page, @Param("ew") Wrapper wrapper):用于分页查询,其中IPage是 MyBatis - Plus 中定义的分页接口,包含了分页相关的信息,如当前页码、每页记录数等。通过这个方法可以方便地实现带有条件的分页查询操作。

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

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

相关文章

2024CCPC长春邀请赛VP D,EG,L

L. Recharge给你三个整数,k,x,y。。x和y分别代表x个1和y个2 问你最多能凑出几个k 我们只需要考虑是否会出现浪费2的情况比如k=3 你此时没有1就只能用两个2来凑出这个3,这样就会浪费1. 我们把k分成奇偶数来看,如果k是偶数,那么百分百不会出现浪费,只需要把(y*2+x)/k就能得到…

Bclinux离线安装PostgreSQL10.23+PostGIS2.5编译安装配置

一、安装PostgreSQL1、安装PostgreSQL解压PostgreSQL软件包tar -zxvf postgresql.tar.gz配置并安装PostgreSQL[postgres@localhost setup]$ tar -zxvf postgresql-10.23.tar.gz 进入解压后的目录,按照PostgreSQL的官方文档进行配置和安装。这通常涉及到创建数据目录、配置post…

苹果im虚拟机系统,苹果imessage推信软件,苹果iMessage自动群发协议 – 持续更新中...

一、电脑版虚拟机苹果系统(Mac OS)上实现imessage群发: /*MacOS苹果系统,正常情况下,只能安装到苹果公司自己出品的Mac电脑,俗称白苹果,不能安装到各种组装机或者其他品牌的品牌机上,黑苹果的的原理,就是通过一些“破解补丁” 工具欺骗macOS系统,让苹果系统认为你的电脑其…

Only AI Flow Can Do!

0 大纲作为骨灰级程序员,咋用 AI flow 提高编码效率 零代码基础,如何使用 AI 辅助编程工具实现自己的想法 盘点常用的 AI 辅助编程工具和使用场景 如何选择适合自己的 AI 辅助编程工具如今的 AI flow 系列软件包括:Cursor、Bolt、Windsurf、v0、通义灵码...... 1 编码咋提效…

Redis探秘Sentinel(哨兵模式)

概述 Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是:持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。 复制:复制是高可用Redis的基础,哨兵和…

数据传输(小迪网络安全笔记~

引子:上一章主要介绍了无回显&不出网,概念、影响、解决方式等。本篇则对网络通信中的数据传输进行介绍,包括数据传输格式、不同类型数据对测试者造成的影响等。附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 4.1 数据传输引子:上一…

编码加密(小迪网络安全笔记~

引子:上一篇主要对常见数据传输类型做了总结,而本篇则对数据常见的编码&加密方式进行总结。附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 4.2 编码加密引子:上一篇主要对常见数据传输类型做了总结,而本篇则对数据常见的编码&加…

测试Gpt的质量插件,挺好的

可以用油猴脚本试试检测IP质量,也是L站看到的 油猴地址:https://greasyfork.org/zh-CN/scripts/517144-chatgpt-helper 来源:https://linux.do/t/topic/258522

不出网(小迪网络安全笔记~

引子:上一章主要对常见的抓包软件&技术做了介绍。本章则主要介绍无回显&不出网,包括什么是无回显&不出网、无回显&不出网对渗透测试造成的影响、测试者遇到了无回显&不出网该如何解决。至于迪总为什么要在基础入门讲这些,可能是为了后面Web篇和内网篇做…

Task05 拓展01

Task 05 条件Conditionals IF 语句IF Else 语句IF-ELIF-ELSE语句IF-ELSE推导式 def abs7(n)return n if (n>=0) else -ndef abs7(n):if n >=0:return nelse:return -nMATCH-CASE语句 match subject:case <pattern_1><action_1>case <pattern_2><act…

Web额外配置(二)(小迪网络安全笔记~

引子:本篇继续介绍一些Web服务常用的额外配置,如堡垒机、蜜罐、API等。附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 1.1.4 Web额外配置(二)引子:本篇继续介绍一些Web服务常用的额外配置,如堡垒机、蜜罐、API等。堡垒机概念:从运维…

Web2.0架构(小迪网络安全笔记~

目前大部分Web资产架构为1. 通过ip/域名进行资产访问2. 资产基本组成:操作系统 + 中间件 + 源码 + 数据库附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 1.1.1 Web2.0架构目前大部分Web资产架构为通过ip/域名进行资产访问 资产基本组成:操…