【热门框架】Mybatis-Plus标准CRUD操作

2023-10-29

MyBatis-Plus提供了一系列标准的CRUD操作,包括insert、delete、update和select。下面是这些操作的指引。

  1. 插入数据

(1)使用实体类进行插入:

User user = new User();
user.setName("Tom");
user.setAge(18);
user.setEmail("tom@example.com");
int rows = userMapper.insert(user);

(2)使用Map进行插入:

Map<String, Object> map = new HashMap<>();
map.put("name", "Tom");
map.put("age", 18);
map.put("email", "tom@example.com");
int rows = userMapper.insert(map);
  1. 删除数据

(1)根据主键删除:

int rows = userMapper.deleteById(1L);

(2)使用Map进行删除:

Map<String, Object> map = new HashMap<>();
map.put("name", "Tom");
int rows = userMapper.deleteByMap(map);

(3)使用Wrapper进行删除:

QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", "Tom");
int rows = userMapper.delete(wrapper);
  1. 更新数据

(1)使用实体类进行更新:

User user = new User();
user.setId(1L);
user.setAge(20);
int rows = userMapper.updateById(user);

(2)使用Map进行更新:

Map<String, Object> map = new HashMap<>();
map.put("age", 20);
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
wrapper.eq("name", "Tom");
int rows = userMapper.update(map, wrapper);
  1. 查询数据

(1)根据主键查询:

User user = userMapper.selectById(1L);

(2)使用List查询:

List<User> userList = userMapper.selectBatchIds(Arrays.asList(1L, 2L, 3L));

(3)使用Map进行查询:

Map<String, Object> map = new HashMap<>();
map.put("name", "Tom");
List<User> userList = userMapper.selectByMap(map);

(4)使用Wrapper进行查询:

QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", "Tom").lt("age", 30);
List<User> userList = userMapper.selectList(wrapper);

以上是 MyBatis-Plus 的标准CRUD操作指引,使用 MyBatis-Plus 可以更加便捷地进行数据库操作,提高开发效率。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【热门框架】Mybatis-Plus标准CRUD操作 的相关文章

  • Gradle 构建错误:无法从 https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml 加载 Maven 元数据

    我在 Android studio 中遇到 gradle 构建错误 如下所示 Error A problem occurred configuring project MyApp Could not resolve all dependen
  • 按键时关闭 ModalWindow

    我希望能够在用户按下某个键 在我的例子中是 ESC 时关闭 ModalWindow 我有一个用于按键的 Javascript 侦听器 它调用取消按钮 ID 的单击事件 jQuery modalWindowInfo closeButtonId
  • 在 Java 中克隆对象 [3 个问题]

    这样做会调用Asub的clone方法吗 或者Asub深度克隆是否正确 如果没有的话 有没有办法通过这种方法对Asub进行深度克隆呢 abstract class Top extends TopMost protected Object cl
  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • 序列的排列?

    我有具体数量的数字 现在我想以某种方式显示这个序列的所有可能的排列 例如 如果数字数量为3 我想显示 0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 0 1 1 0
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • 如何获取之前的URL?

    我需要调用我的网络应用程序的 URL 例如 如果有一个从 stackoverflow com 到我的网站 foo com 的链接 我需要 Web 应用程序 托管 bean 中的 stackoverflow 链接 感谢所有帮助 谢谢 并不总是
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • 如何访问JAR文件中的Maven资源? [复制]

    这个问题在这里已经有答案了 我有一个使用 Maven 构建的 Java 应用程序 我有一个资源文件夹com pkg resources 我需要从中访问文件 例如directory txt 我一直在查看各种教程和其他答案 但似乎没有一个对我有
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类

随机推荐

  • OpenCV人脸识别的原理

    在之前讲到的人脸测试后 提取出人脸来 并且保存下来 以供训练或识别是用 提取人脸的代码如下 void GetImageRect IplImage orgImage CvRect rectInImage IplImage imgRect do
  • 13-1 可执行程序的编译过程

    1 编译流程 使用 gcc 编译器 将源代码 c 文件一步一步编译至可执行程序 gcc 编译器在 Windows Linux Mac 均可正常编译 编译具体过程如下 1 打开 msys 目录下的 mingw64 exe 跳转至待编译源码的目
  • ISCC——美人计

    拿到题目下载文件 得到一张照片 还有一张二维码扫码结果 U2FsdGVkX1 Ka sScszwQkwhO VLiJwV 6IFg5W TfNHGxG2qZsIr2iwMwb9X9Iu3GuGWmPOtO27z8vNppD2D50fwsD
  • PowerDNS篇1-简介和安装

    本文主要介绍PowerDNS的主要特性和初始化安装的配置方法 侧重点是对复杂程度相对较高PowerDNS Authoritative Server进行介绍 同时会夹杂部分PowerDNS Recursor的初始化安装和配置 1 PowerD
  • 【AI编程工具合集】42 款 AI 代码助手工具大盘点!开发效率神器!

    0 未来百科 未来百科 https nav 6aiq com 是一个知名的AI产品导航网站 为发现全球优质AI工具而生 目前已 聚集全球3000 优质AI工具产品 旨在帮助用户发现全球最好的AI工具 同时为研发AI垂直应用的创业公司提供展示
  • Python字典加减操作

    最近工作中遇见了这个基础问题 分享一下 以下是Python中的两个Dict x a 1 b 2 c 3 y a 3 b 1 d 5 我们需要用到class collections Counter iterable or mapping 相加
  • 数学建模_饮食计划

    摘要 民以食为天 合理的饮食是身体健康的基础 科学的控制摄入食物的比例可以健康的减肥 实际的饮食计划中既要考虑较低的热量摄入 还要考虑较高的满足感和饱腹感 并且营养要均衡 本文采用多目标加权 分优先级的方法将多目标优化问题转化为多个线性规划
  • rsync使用时的常见问题

    rsync使用时的常见问题 错误1 rsync read error Connection reset by peer 104 rsync error error in rsync protocol data stream code 12
  • 常用社交网络(SNS、人人网、新浪微博)动态新闻(feed、新鲜事、好友动态)系统浅析

    最近见几个朋友都在说人人网新鲜事排序的问题 恰巧对这方面也较感兴趣 于是打算顺便把手头收集到的资料梳理学习一下 由于本人也只是新手 很多内容仅仅是参阅资料后的个人猜测与纸上谈兵故难免存有错误与纰漏 感谢大家指正 一 什么是feed Feed
  • HMI全液晶仪表方案-使用QNX和Kanzi的UI解决方案

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额1元起步 多少随意 锋影 e mail 174176320 qq com 黑莓有限公司子公司及全球车载电子软件平台领导厂商QNX软件系统有限公司与汽车用户界面设计工
  • three.js学习(第二天)之阻尼+自适应+js全屏

    添加阻尼效果 加载轨道控制器 import OrbitControls from three addons controls OrbitControls js 创建轨道控制器 const controls new OrbitControls
  • 常用的API接口对接方式和注意事项

    常用的API对接方式和注意事项 随着互联网的发展 API 应用程序接口 已经成为了不可或缺的一部分 API允许不同的软件系统进行通信和数据交互 为开发者提供了一种简单 灵活和高效的方式来集成不同的软件系统 在进行API对接时 有一些常用的方
  • 禅道后台命令执行漏洞 (二)

    漏洞简介 禅道是第一款国产的开源项目管理软件 它集产品管理 项目管理 质量管理 文档管理 组织管理和事务管理于一体 是一款专业的研发项目管理软件 完整地覆盖了项目管理的核心流程 禅道管理思想注重实效 功能完备丰富 操作简洁高效 界面美观大方
  • 防火墙的相关信息

    什么是防火墙 防御对象 授权用户 非授权用户 它是一种位于内部网络与外部外部网络之间的安全系统 是一种隔离 非授权用户在区域间 并过滤 对受保护网络有害流量或数据包 的设备 防火墙具有路由交换的功能 既可以做路由器也可以做交换机 防火墙的分
  • 狂神Elasticsearch笔记

    ElasticSearch笔记 我们要讲解什么 SQL like 狂神说 如果是的大数据 就十分慢 索引 ElasticSearch 搜索 百度 github 淘宝电商 1 聊一个人 2 货比三家 3 安装 4 生态圈 5 分词器ik 6
  • 如何不通过iconfont项目向已有字体图标中添加新的字体图标

    前言 今天接到一个需求 要往项目中添加一个字体图标 按照以往的惯例 就是在iconfont网站的我的项目添加需要的字体图标就行了 但这个需求是个临时需求 不想用这种方式 于是 就想直接在现有的字体图标中添加 解决方案 第一步 在iconfo
  • uGUI元素显示在角色的头顶上

    孙广东 2015 5 26 转载请注明出处 http blog csdn net u010019717 我们 游戏完全使用UGUI来工作 所以游戏中的很多元素都是UGUI的 Game Canvas画布设置为 World Space 主要也是
  • Unity3D游戏开发之设置动画(Animations)属性

    通过创建角色动画Avatar 在新的动画系统Mecanim中 Unity就设置了角色动画的骨架和蒙皮信息 从而就可以在Unity中实现角色动画了 切换到动画 Animations 选项卡 选中导入动画 Import Animation 的选
  • 人工神经网络的设计与实现(二) 感知机

    感知机 感知机 perceptron 是ANN的基本单元 至少我现在是这么觉得的 如果我学到后来发现不是 会来更正的 感知机 如下图 就是伸出几只小触手去感知这个世界 感知 感知 然后触手获取数据的加权和通过函数 f 得到的值即为该感知机的
  • 【热门框架】Mybatis-Plus标准CRUD操作

    MyBatis Plus提供了一系列标准的CRUD操作 包括insert delete update和select 下面是这些操作的指引 插入数据 1 使用实体类进行插入 User user new User user setName To