JavaSpringBoot中,Mybatis plus 语法展示

目录

语法展示

基础的增删改查

分页查询

语法指导

删除操作

条件操作


语法展示

@Mapper
public interface UserMapper extends BaseMapper<User> {}
public interface UserService extends IService<User> {}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {@Autowiredprivate UserMapper userMapper;
}
@RestController
@RequestMapping("/test/user")
public class UserController {@Autowiredprivate UserService userService;
}

基础的增删改查

查询所有,参数为构造器 : userMapper.selectList(null) 根据id添加数据,参数为实体类对象:  userMapper.insert(user);根据id修改数据,参数为实体类对象:   userMapper.updateById(user)根据id删除数据,参数为int / Long :  userMapper.deleteById(5L)根据id查询数据,餐位数int / Long : userMapper.selectById(4L)

分页查询

  R<IPage<User>>  getUsersByNamec(Page<User> page, String name);
    @Overridepublic R<IPage<User>> getUsersByNamec(Page<User> page, String name) {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.like(StringUtils.isNotBlank(name), "name", name);return R.success(userMapper.selectPage(page, queryWrapper));}
    // 根据姓名分页查询用户@GetMapping("/getUsersByName")public IPage<User> getUsersByName(@RequestParam(defaultValue = "1") Long current,@RequestParam(defaultValue = "2") Long size,@RequestParam(required = false) String name) {// 构建分页对象Page<User> userpage = new Page<>(current, size);//返回对象得到分页所有数据long pages = userPage.getPages(); //总页数long current = userPage.getCurrent(); //当前页List<User> records = userPage.getRecords(); //查询数据集合long total = userPage.getTotal(); //总记录数boolean hasNext = userPage.hasNext();  //下一页boolean hasPrevious = userPage.hasPrevious(); //上一页// 调用服务方法进行分页查询return userService.getUsersByName(page, name);}

语法指导

* mp复杂查询* eq 就是 equal等于* ne就是 not equal不等于** gt 就是 greater than大于* ge 就是 greater than or equal 大于等于* lt 就是 less than小于* le 就是 less than or equal 小于等于** in 就是 in 包含(数组)* between 就是 在2个条件之间(包括边界值)* notBetween** isNull 就是 等于null* isNotNull 不等于** like 就是 模糊查询* notLike* likeLeft* likeRight** orderBy* orderByDesc* orderByAsc

删除操作

批量删除: userMapper.deleteBatchIds(Arrays.asList(8, 9, 10));简单删除://简单条件删除@Testpublic void testDeleteByMap() {HashMap<String, Object> map = new HashMap<>();//  name,age 为字段 ---> lucy,20 为值map.put("name", "lucy");map.put("age", 20);int result = userMapper.deleteByMap(map);System.out.println(result);}

条件操作

 // 查询年龄  > 21 的  public void testQuery() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.ge("age", 21);List<User> users = userMapper.selectList(queryWrapper);System.out.println(users);}// 查询name 是 Tom的@Testpublic void testSelectOne() {QueryWrapper<User>queryWrapper = new QueryWrapper<>();queryWrapper.eq("name", "Tom");User user = userMapper.selectOne(queryWrapper);//只能返回一条记录,多余一条则抛出异常System.out.println(user);}// 查询年龄在20 ~ 30之间的@Testpublic void testSelectCount() {QueryWrapper<User>queryWrapper = new QueryWrapper<>();queryWrapper.between("age", 20, 30);Integer count = userMapper.selectCount(queryWrapper); //返回数据数量System.out.println(count);}

查询条件构建: 使用 QueryWrapper 对象 queryWrapper 构建查询条件。在这个例子中,通过 .select("name", "age") 指定要查询的字段,.like("name", "e") 表示名字中包含字母 "e",.likeRight("email", "5") 表示邮箱以数字 "5" 结尾。
 

    @Testpublic void testSelectMaps() {QueryWrapper<User>queryWrapper = new QueryWrapper<>();queryWrapper.select("name", "age").like("name", "y").likeRight("email", "5");List<Map<String, Object>>maps = userMapper.selectMaps(queryWrapper);//返回值是Map列表maps.forEach(System.out::println);}

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

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

相关文章

在Win系统部署WampServer并实现公网访问本地服务【内网穿透】

目录 推荐 前言 1.WampServer下载安装 2.WampServer启动 3.安装cpolar内网穿透 3.1 注册账号 3.2 下载cpolar客户端 3.3 登录cpolar web ui管理界面 3.4 创建公网地址 4.固定公网地址访问 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0…

企业资产|企业资产管理系统|基于springboot企业资产管理系统设计与实现(源码+数据库+文档)

企业资产管理系统目录 目录 基于springboot企业资产管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、用户审核管理 3、资产分类管理 4、资产信息管理 5、资产信息添加 6、资产借出统计 7、资产归还审核 8、资产维修管理 9、资产维修…

事务的4大特性、隔离级别、传播机制

目录 一、4大特性&#xff08;ACID&#xff09;二、隔离级别三、传播机制 一、4大特性&#xff08;ACID&#xff09; 原子性&#xff08;A&#xff09;&#xff1a;在一个事务中&#xff0c;要么全部成功&#xff0c;要么全部失败。一致性&#xff08;C&#xff09;&#xff1…

effective c++ 笔记 条款26-31

条款 26&#xff1a;尽可能延后变量定义式出现的时间 应该延后变量的定义&#xff0c;直到非得使用该变量的前一刻为止&#xff0c;甚至应该尝试延后这份定义直到能够给它初值实参为止&#xff0c;以此避免构造&#xff08;和析构&#xff09;非必要对象&#xff0c;还可以避免…

c++笔记理解

1.封装 &#xff08;1&#xff09;构造函数不是必须在的 可以通过行为修改属性 &#xff08;2&#xff09;private和protected区别在于继承那里要学 &#xff08;3&#xff09;类默认是私有&#xff0c;struct是共有 私有的好处&#xff1a;控制数据的有效性&#xff0c;意…

编程笔记 Golang基础 012 项目构建

编程笔记 Golang基础 012 项目构建 一、模块&#xff08;Module&#xff09;、包&#xff08;Package&#xff09;和文件二、项目结构三、VsCode项目管理四、Goland项目管理五、工作空间小结 如何构建和组织一个项目&#xff0c;是学习该语言编程的开始。 一、模块&#xff08;…

MySQL 8.0.36 WorkBench安装

一、下载安装包 百度网盘链接&#xff1a;点击此处下载安装文件 提取码&#xff1a;hhwz 二、安装&#xff0c;跟着图片来 选择Custom,然后点Next 顺着左边框每一项的加号打开到每一个项的最底层&#xff0c;点击选中最底层的项目&#xff0c;再点击传过去右边的绿色箭头&a…

Codeforces Round 530 (Div. 2)

CF1099A Snowball 题目 有一个重量为 w 的雪球正在高度为 h 的地方向下滚动。每秒它的高度会减少 1。同时在高度 i 的位置它的重量会增加 i&#xff08;包括初始位置&#xff09; 同时在滚动的路线上有 2 块石头&#xff0c;第 i 块石头的高度为 hi​&#xff0c;即雪球会在 hi…

【论文阅读|基于 YOLO 的红外小目标检测的逆向范例】

基于 YOLO 的红外小目标检测的逆向范例 摘要1 引言2 相关工作2.1 逆向推理2.2 物体检测方法 3 方法3.1 总体架构3.2 逆向标准的可微分积分 4 实验4.1 数据集和指标4.2 实验环境4.4 OL-NFA 为少样本环境带来稳健性 5 结论 论文题目&#xff1a; A Contrario Paradigm for YOLO-b…

详解 leetcode_078. 合并K个升序链表.小顶堆实现

/*** 构造单链表节点*/ class ListNode{int value;//节点值ListNode next;//指向后继节点的引用public ListNode(){}public ListNode(int value){this.valuevalue;}public ListNode(int value,ListNode next){this.valuevalue;this.nextnext;} }package com.ag; import java.ut…

[树形DP] 最长乘积链

题目 1.最长乘积链 - 蓝桥云课 (lanqiao.cn) 初始思路 对问题进行分析&#xff0c;对每个点dfs去求走不同路的最远距离与次远距离求乘积&#xff0c;时间复杂度为O(n^2) 看了答案怎么弄的优化 解题思路 总的来说 预处理&#xff08;对每个结点的信息进行统计&#xff09…

AWS无服务器直播解决方案

随着媒体系统的发展&#xff0c;越来越多的直播客户想要一个即开即用的平台&#xff0c;在不需要管理和运维底层资源的同时使用一站式的媒体平台。九河云对多家云厂商有所了解及有一定合作&#xff0c;下面将按客户的需求介绍aws的无服务器直播解决方案。 架构概述&#xff1a…

Flutter插件开发指南02: 事件订阅 EventChannel

Flutter插件开发指南02: 事件订阅 EventChannel 视频 https://www.bilibili.com/video/BV1zj411d7k4/ 前言 上一节我们讲了 Channel 通道&#xff0c;但是如果你是卫星定位业务&#xff0c;原生端主动推消息给 Flutter 这时候就要用到 EventChannel 通道了。 本节会写一个 1~…

HarmonyOS 权限 介绍

权限说明 权限等级 根据权限对于不同等级应用有不同的开放范围&#xff0c;权限类型对应分为以下三种&#xff0c;等级依次提高。 normal权限 normal 权限允许应用访问超出默认规则外的普通系统资源。 这些系统资源的开放&#xff08;包括数据和功能&#xff09;对用户隐私以及…

Unity编辑器扩展之是否勾选Text组件BestFit选项工具(此篇教程也可以操作其他组件的属性)

想要批量化是否勾选项目预制体资源中Text组件BestFit属性&#xff08;此篇教程也可以操作其他组件的属性&#xff0c;只不过需要修改其中对应的代码&#xff09;&#xff0c;可以采用以下步骤。 1、在项目的Editor文件中&#xff0c;新建一个名为TextBestFitBatchProcessor的…

日常遇到Maven出现依赖版本/缓存问题通用思路。

Maven依赖错误联想 明明自己的工程是直接从大佬哪里拉下来的&#xff0c;并且自己的setting文件也是没有问题&#xff0c;可是自己偏偏编译有问题。这里介绍一种通用解决方案&#xff0c;仅供参考。 前置排查确认 我遇到原因是在JDK升级过程中遇到的&#xff1a; java.lang.…

Linux篇:指令

一 基本常识&#xff1a; 1. 文件文件内容文件的属性 2. 文件的操作对文件内容的操作对文件属性的操作 3. 文件的类型&#xff1a; d&#xff1a;目录文件 -&#xff1a;普通文件 4. 指令是可执行程序&#xff0c;指令的代码文件在系统的某一个位置存在的。/u…

Linux---进程间通讯(上)

一、进程间通讯的目的 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程资源共享&#xff1a;多个进程之间共享同样的资源。通知事件&#xff1a;一个进程需要向另一个或一组进程发送消息&#xff0c;通知它&#xff08;它们&#xff09;发生了某种事件&#xff0…

pytorch使用文档

torch 张量操作&#xff08;torch&#xff09; torch.tensor(): 用数据创建一个 torch.Tensor 对象。torch.from_numpy(): 从 numpy 数组创建张量。torch.zeros(), torch.ones(), torch.rand(), torch.randn(): 创建具有特定形状的全0、全1、均匀分布随机、标准正态分布随机张…