mybatisPlus·入门·贰

news/2024/4/26 12:04:43/文章来源:https://blog.csdn.net/stange1/article/details/130374171

文章目录

  • 1 简单CRUD接口
    • 1.1 根据id查询({id传参)
      • 1.1.1 接口类直接继承IService
      • 1.1.2 controller直接调用方法
    • 1.2 根据ids查询
    • 1.3 新增
      • 1.3.1 接口类直接继承IService
      • 1.3.2 controller直接调用方法
    • 1.4 修改状态(Query传参)
      • 1.4.1 接口类直接继承IService
      • 1.4.2 controller直接调用方法
    • 1.5 根据id删除商品
      • 1.5.1 接口类直接继承IService
      • 1.5.2 controller直接调用方法
  • 2 分页查询
    • 2.1 不带条件的分页查询
      • 2.1.1 拦截SQL语句,目的是拼接limit条件
      • 2.1.2 接口类直接继承IService
      • 2.1.3 controller直接调用方法
    • 2.2 带条件的分页查询
      • 2.2.1 拦截SQL语句,目的是拼接limit条件
      • 2.2.2 接口类直接继承IService
      • 2.2.3 controller直接调用方法
  • 3 构造查询条件
    • 3.1 new LambdaQueryWrapper<>();
    • 3.2 调用queryWrapper 里的方法

1 简单CRUD接口

1.1 根据id查询({id传参)

1.1.1 接口类直接继承IService

public interface IItemService extends IService<Item> {
}

1.1.2 controller直接调用方法

 /*** 根据id查询商品** @param id* @return*/@GetMapping("/{id}")public Item getById(@PathVariable Long id) {log.info("商品id为:{}", id);Item item = itemService.getById(id);return item;}

1.2 根据ids查询

直接调用itemService.getBaseMapper().selectBatchIds(ids)方法

    @GetMapping("/ids")public List<Item> getByIds(@RequestParam List<Long> ids) {log.info("商品ids为:{}", ids);List<Item> itemList = itemService.getBaseMapper().selectBatchIds(ids);return itemList;}

1.3 新增

1.3.1 接口类直接继承IService

public interface IItemService extends IService<Item> {
}

1.3.2 controller直接调用方法

  /*** 新增商品** @param item*/@PostMappingpublic void saveItem(@RequestBody Item item) {log.info("商品参数{}:", item);itemService.save(item);}

1.4 修改状态(Query传参)

1.4.1 接口类直接继承IService

public interface IItemService extends IService<Item> {
}

1.4.2 controller直接调用方法

    /*** 商品上架、下架* @param item*/@PutMapping("/status/{id}/{status}")public void updateStatus(Item item) {log.info("修改商品状态:{}", item);itemService.updateById(item);}

1.5 根据id删除商品

1.5.1 接口类直接继承IService

public interface IItemService extends IService<Item> {
}

1.5.2 controller直接调用方法

    /*** 根据 id删除商品* @param id*/@DeleteMapping("/{id}")public void delateById(@PathVariable Long id){log.info("删除商品id:{}", id);itemService.removeById(id);}

2 分页查询

2.1 不带条件的分页查询

2.1.1 拦截SQL语句,目的是拼接limit条件

/*** mp分页拦截*/
@Configuration
public class MpConfig {@Beanpublic MybatisPlusInterceptor mpInterceptor(){//1 定义mp拦截器,创建MybatisPlusInterceptor拦截器对象MybatisPlusInterceptor mpInterceptor = new MybatisPlusInterceptor();//2 添加具体的拦截器、添加分页拦截器mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());return mpInterceptor;}
}

2.1.2 接口类直接继承IService

public interface IItemService extends IService<Item> {
}

2.1.3 controller直接调用方法

   /*** 分页查询商品** @param page* @param size* @return*/@GetMapping("/list")public PageDTO<Item> list2(int page, int size) {log.info("页数,大小参数{},{}", page, size);IPage<Item> iPage = new Page<>(page, size);//构造分页构造器,有page、sizeIPage<Item> pageInfo = itemService.page(iPage);return new PageDTO<Item>(pageInfo.getTotal(),pageInfo.getRecords());}

2.2 带条件的分页查询

2.2.1 拦截SQL语句,目的是拼接limit条件

/*** mp分页拦截*/
@Configuration
public class MpConfig {@Beanpublic MybatisPlusInterceptor mpInterceptor(){//1 定义mp拦截器,创建MybatisPlusInterceptor拦截器对象MybatisPlusInterceptor mpInterceptor = new MybatisPlusInterceptor();//2 添加具体的拦截器、添加分页拦截器mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());return mpInterceptor;}
}

2.2.2 接口类直接继承IService

public interface IItemService extends IService<Item> {
}

2.2.3 controller直接调用方法

 /*** 分页查询商品** @param page* @param size* @return*/@GetMapping("/list")public PageDTO<Item> list(int page, int size) {log.info("页数,大小参数{},{}", page, size);IPage<Item> pageInfo = new Page<>(page, size);//构造分页构造器,有page、sizeLambdaQueryWrapper<Item> queryWrapper = new LambdaQueryWrapper<>();//构造条件构造器,此处前端请求page、sizequeryWrapper.orderByDesc(Item::getCreateTime);//添加排序条件,按更新时间排序itemService.page(pageInfo, queryWrapper);PageDTO<Item> pageDTO = new PageDTO<>();//构造前端返回值对象pageDTO.setList(pageInfo.getRecords());//放入数据pageDTO.setTotal(pageInfo.getTotal());//放入总大小return pageDTO;}

3 构造查询条件

3.1 new LambdaQueryWrapper<>();

 LambdaQueryWrapper<Item> queryWrapper = new LambdaQueryWrapper<>();

3.2 调用queryWrapper 里的方法

在这里插入图片描述

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

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

相关文章

新版Fluent默认保存的h5文件无法用Tecplot打开的解决办法(亲试有效,评论区是重点)

文章目录 Ansys Fluent简介Fluent 输入/出 文件格式新版Fluent的输出压缩文件&#xff08;.cas.h5文件&#xff09;解决办法 Ansys Fluent简介 Ansys Fluent &#xff0c;是国际上比较流行的商用CFD软件包&#xff0c;在美国的市场占有率为60%&#xff0c;凡是和流体、热传递和…

NetXpert XG2帮您解决“布线安装与维护”难题

在传输大量数据时&#xff0c;光纤变得越来越重要&#xff0c;而铜缆在未来也将继续发挥重要作用&#xff0c;因此我们不仅要比较两种类型布线的优缺点&#xff0c;还要探究光纤传输中的错误来源。 测试光缆传输损耗的准确性对于故障排除至关重要&#xff0c;特别是在光纤情况下…

后台-husky提交代码规范使用

husky是一个git hook工具&#xff0c;可以帮助我们触发git提交的各个阶段&#xff1a;pre-commit、commit-msg、pre-push 1.如何使用husky呢&#xff1f; npx husky-init && npm installWindows安装不成功试试npx husky-init && npm install 2.git commit规范…

Java学习笔记-01

目录 jdk安装及环境配置 java前置知识 编写一个HelloWorld 常量 数据类型 变量 类型转换 算数运算符 一元运算符( --) 关系运算符 逻辑运算符(与或非&#xff0c;逻辑异或) 三元(三目)运算符 Scanner类的简单使用 jdk安装及环境配置 看到的一篇文章&#xff0c;…

【C++STL】set

前言 前面的CSTL的博客&#xff0c;我们介绍了string&#xff0c;vector&#xff0c;list&#xff0c;deque&#xff0c;priority_queue还有stack和queue。 这些容器统称为序列式容器&#xff0c;因为其底层为线性序列的数据结构&#xff0c;里面存储的是元素本身。 而从本节开…

(二)ElasticSearch 辅助工具 Kibana 介绍与安装

1、什么是 kibana &#xff1f; Kibana 是一个针对Elasticsearch的开源分析及可视化平台&#xff0c;用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana&#xff0c;可以通过各种图表进行高级数据分析及展示。 Kibana让海量数据更容易理解。它操作简单&#xff…

0401概述-最短路径-加权有向图-数据结构和算法(Java)

文章目录 1 最短路径2 最短路径的性质3 加权有向图的数据结构3.1 加权有向边3.2 加权有向图 4 最短路径4.1 最短路径API4.2 最短路径的数据结构4.3 边的松弛4.4 顶点的松弛 结语 1 最短路径 如图1-1所示&#xff0c;一幅加权有向图和其中的一条最短路径&#xff1a; 定义&…

加强人工智能共性技术研发与产业化协同发展

央视网消息&#xff1a;“以5G为代表的新一代信息技术与制造业、交通、旅游等实体经济重要领域深度融合。”4月20日下午&#xff0c;国新办举行一季度工业和信息化发展情况新闻发布会&#xff0c;相关部门负责人在答问时表示&#xff0c;将用好融合应用这把金钥匙&#xff0c;开…

基于matlab仿真相控天线阵列在波束成形MIMO-OFDM系统中的使用

一、前言 本例显示了相控阵在采用波束成形的MIMO-OFDM通信系统中的使用。它使用通信工具箱和相控阵系统工具箱中的组件&#xff0c;对组成发射器和前端接收器组件的辐射元件进行建模&#xff0c;用于MIMO-OFDM通信系统。使用用户指定的参数&#xff0c;您可以根据不同空间位置和…

JAVA Future类详解及Thread线程是如何运行Future类的

一、Future基本介绍 Future(java.util.concurrent Interface Future<V>)表示异步计算的结果。Future接口提供了检查计算是否完成、检查计算是否被取消、等待计算完成并获取计算结果等方法。 在并发编程中&#xff0c;我们经常用到非阻塞的模型&#xff0c;但继承thread类…

202303-1 田地丈量

代码 #include<iostream> #include<vector> #include<string> #include<cmath> #include<algorithm> #include<stack> using namespace std; int n, a, b;int main() {cin >> n >> a >> b;int x1, y1, x2, y2;int x, y;…

网络基础之网络传输基本流程

网络基础 此小节介绍网络基础概念 首先要明确的是 网络是层状结构&#xff01;分层->OP->解耦 网络发展&#xff1a;最早的时候&#xff0c;每台计算机之间是相互独立的。后续发展到网络互联&#xff0c;就是将多台计算机连接在一起&#xff0c;完成数据共享。 协议&…

19.Java文件操作---I/O流

Java文件操作—I/O流 流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中&#xff0c;管道是一条不间断的字节流&#xff0c;用来实现程序或进程间的通信&#xff0c;或读写外围设备、外部文件等。一个流&#xff0c;必有源端和目的端&#xff0c;它们可以是计算机内存的某…

【问题记录】docker 搭建 minio

一、搭建过程 docker 搜索minio镜像 docker search miniodocker 拉取镜像 docker pull minio/miniodocker 启动 minio docker run -p 9900:9900 --name minio -d --restartalways -e MINIO_ACCESS_KEYminio -e MINIO_SECRET_KEY1qazWSX -v /usr/local/minio/data:/data -v …

PHP入门【1】环境搭建

目录 一&#xff0c;安装appserv组合包 二&#xff0c;运行第一个php程序 一&#xff0c;安装appserv组合包 组合包&#xff1a;将apache&#xff0c;mysql&#xff0c;php等服务器软件和工具安装配置完成后打包处理 组合包大大提高了我们的效率&#xff0c;不需要为配置环境…

MACH SYSTEMS操作手册 SAEJ2716(SENT) to RS-232/CAN Gateway怎么使用?

双通道SAE J2716 (SENT)至RS-232/CAN总线网关&#xff0c;具有两个双向SENT通道和RS-232 (SENT-RS232) 或CAN总线 (SENT-CAN) 接口。两种变体还提供两个模拟输出&#xff0c;可以直接将输入SENT数据转换为模拟电压。该网关配备了一个免费的PC应用程序&#xff0c;用于SENT通信分…

Linux Ansible创建任务并执行

目录 通过add-hoc执行anbise任务 通过Playbook剧本方式执行任务 Playbook包含的常用对象 Yaml语法 对Yaml格式自动对齐 Playbook语法检测与执行 Playbook任务实施 Playbook特权升级 Playbook常用模块 软件包管理模块 用户管理模块 存储模块管理 文件操作相关模块 …

gpt在线使用-免费的 GPT在哪下载

免费的 GPT&#xff08;Generative Pre-trained Transformer&#xff09; 。现在您可以免费体验我们的 GPT 技术&#xff0c;来让您的业务或项目更加智能。 GPT 是一种基于最前沿的自然语言处理技术&#xff0c;它展现出了令人惊叹的预测能力和交互性能。我们的 GPT 是在世界顶…

TryHackMe-M4tr1x: Exit Denied(boot2root)

M4tr1x: Exit Denied 大多数人只看到一个完美构建的系统。但你一直都是不同的。你不仅看到表面上的东西&#xff0c;还看到 它下面有什么统治;调节和调节的内部关联机制 几乎完美地管理其每个模块&#xff0c;以至于它试图隐藏所有模块 其多面设计中的微小孔。但是&#xff0c…

linux-01-基础回顾-虚拟机安装linux(centos7)、linux常用命令

文章目录 Linux-Day01课程内容1. 前言1.1 什么是Linux1.2 为什么要学Linux1.3 学完Linux能干什么 2. Linux简介2.1 主流操作系统2.2 Linux发展历史2.3 Linux系统版本 3. Linux安装3.1 安装方式介绍3.2 安装VMware3.3 安装Linux3.4 网卡设置3.5 安装SSH连接工具3.5.1 SSH连接工具…