Mybatis-Plus学习4 Page分页

news2024/11/13 10:03:17

ctrl + P = 查看可填的属性类型

alt + 回车 = 自动填充数据类型

1、使用Page分页需要先配置config类,加上拦截器

@Configuration
@MapperScan("com/learn/mybatisplus/mapper")
public class MybatisPlusConfig {

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }

}
    @Test
    public void testPage() {

        Page<User> page = new Page<>(2, 3);
        userMapper.selectPage(page, null);
        //SELECT id,age,name,email,is_deleted FROM user WHERE is_deleted=0 LIMIT ?
        // 获取当前分页的内容
        System.out.println("1:"+page.getRecords());
        // 获取总页数
        System.out.println("2:"+page.getPages());
        // 获取总记录数
        System.out.println("3:"+page.getTotal());
        // 是否有下一页
        System.out.println("4:"+page.hasNext());
        // 是否有上一页
        System.out.println("5:"+page.hasPrevious());
    }

type-aliasys-package配置pojo对象别名对应的包

自定义的Mapper的page查询:

    /**
     * 通过年龄信息查询并分页
     * @param page mybatis-plus提供的封装好的属性,必须放在第一个位置
     * @param age
     * @return
     */
    Page<User> selectPageVo(@Param("page") Page<User> page, @Param("age") Integer age);


    <select id="selectPageVo" resultType="com.learn.mybatisplus.pojo.User">
        select id, name, age, email from user where age > #{age}
    </select>


        Page<User> page = new Page<>(1, 3);
        userMapper.selectPageVo(page, 20);
        //select id, name, age, email from user where age > ? LIMIT ?

乐观锁 和 悲观锁

悲观锁:
悲观锁的思想是,在操作数据之前,先假设其他并发操作会对数据进行修改,因此悲观锁会在对数据进行操作前,将其锁定,确保其他操作无法访问该数据,直到当前操作完成。

一个常见的悲观锁的例子是数据库中的行级锁。当多个事务对数据库中的同一行数据进行并发操作时,悲观锁会将该数据行锁定,以防止其他事务修改该数据。只有当当前事务完成后,其他事务才能获取到该行数据的锁并执行相应的操作。

乐观锁:
乐观锁的思想是,假设在数据的操作过程中不会有其他事务对数据进行修改,因此乐观锁不会显式地进行锁定操作。相反,它会在操作完成时进行检查以确保数据的一致性。

一个常见的乐观锁的例子是使用版本号(或者时间戳)来实现并发控制。每个数据记录都有一个版本号,当执行更新操作时,乐观锁会比较当前数据的版本号是否与执行更新操作之前的版本号一致。如果一致,说明期间没有其他操作对数据进行修改,更新可以继续执行;如果不一致,说明期间有其他操作对数据进行了修改,更新操作可能会被中断或者重新执行。

 

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

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

相关文章

TiDB 升级利器(参数对比)——TiDBA

作者&#xff1a; 啦啦啦啦啦 原文来源&#xff1a; https://tidb.net/blog/299f0bdc 一.背景 针对 LTS 版本&#xff0c;PingCAP 会提供最多至 3 年时间的常规版本更新&#xff0c;以解决版本运行过程中遇到的问题&#xff0c;以及安全相关的漏洞修复。而对于已经结束维护…

Css面试题

快速居中 flex margin:auto translate position padding和maring的区别 作用对象不同&#xff1a; padding是针对自身的 margin是作用于外部对象的 VW和百分比的区别 百分比有继承关系&#xff0c;继承父级 VW只和设备的宽度有关系 块元素和行内元素 行内元素&…

Vuex基础

Vuex介绍 为什么会有Vuex&#xff1f; https://v3.vuex.vuejs.org/zh/ Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 Vue是采用集中式管理组件依赖的共享数…

技嘉 B660M Gigabyte Aorus Pro DDR4 i7-12700F 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板B660M Gigabyte Aorus Pro DDR4 处理器Intel Core i7-12700F 2.10 GHz, 25M Cache, up to 4.90 GHz已驱动 内存4 x Corsair Vengeance LPX 8GB 3…

多个SecurityFilterChain执行顺序问题,/oauth2/authorization报404

正常要请求/oauth2/authorization/{regId}跳转到authorization-uri进行认证的&#xff0c;但是搭建好之后&#xff0c;请求这个地址竟然直接报404了&#xff0c;说明oauth2的相关filter并没有生效&#xff0c;直接打到了dispatchServlet。 那到底是哪里的问题呢&#xff1f;de…

人机交互技术复习提纲

认知心理学与人机工程学是人机交互技术的理论基础&#xff0c;而多媒体技术、虚拟现实技术与人机交互是相互交叉和渗透的。 图形用户界面的英文简称为GUI GUI的特点是桌面隐喻技术 直接操纵 所见即所得 自然和谐的人机交互阶段 多通道交互 情感计算 虚拟现实 智能用户界面 自…

为了实现上网自由,我做了一个多功能串口服务器

项目作者&#xff1a;小华的物联网嵌入式之旅 介绍&#xff1a;从事电气自动化行业&#xff0c;多次获得物联网设计竞赛&#xff0c;爱好嵌入式设计开发&#xff0c;物联网开发。 设计方案思路的由来&#xff0c;是因为我们现在的开发板基本需要通过串口与WIFI模组或以太网模…

「2024」预备研究生mem-利润与利润率增长率问题

一、利润与利润率 二、增长率问题 易错题&#xff1a; 三、课后题 每日一练&#xff1a;

BC SAP ECC与 S4 pfcg不同

ECC PFCG 这里的账户咯&#xff0c;可以从Excel编辑好后&#xff0c;直接copy进去 但是在S4里里面&#xff0c;一次只能copy 这个页面范围内的行数&#xff0c;我的是14行&#xff0c;这个根电脑的分辨率有干系 &#xff0c;但是一定是不全的

ForkJoinPool的使用以及基本原理

文章目录 一、ForkJoinPool简介二、ForkJoinPool的基本原理1. 分治法2. 工作窃取 三、ForkJoinPool的使用场景1. 递归式的任务分解&#xff1a;2. 数据并行处理&#xff1a;3. 合并结果&#xff1a;4. 并行递归算法&#xff1a;5. 小结&#xff1a; 四、ForkJoinPool的基本使用…

第13节:特色数据——把握宏观经济脉搏

文章目录 中国主要宏观经济指标相关接口本节课任务 中国主要宏观经济指标 GDP&#xff08;国内生产总值&#xff09;&#xff1a;GDP是衡量一个国家或地区经济活动总量的指标&#xff0c;代表了一定时期内该国或地区所有最终产品和服务的市场价值总和。它反映了一个经济体的整体…

【花雕】青少年机器人教育等级评测模拟题_20200715(一级)

随着科技的不断进步&#xff0c;机器人技术已经成为了一个重要的领域。在这个领域中&#xff0c;机械结构是机器人设计中至关重要的一部分&#xff0c;它决定了机器人的形态、运动方式和工作效率。对于青少年机器人爱好者来说&#xff0c;了解机械结构的基础知识&#xff0c;掌…

分布式主键ID生成策略

小程序搜索“ 源码轻舟 ”后续将推出算法和面试模块 坚持学习&#xff0c;好文每日送达&#xff01; 业务系统对分布式ID的要求 唯一性&#xff1a;在分布式系统中&#xff0c;每个节点都需要生成唯一的标识符来确保数据的唯一性。传统的单点生成ID方式无法满足分布式环境下的…

音视频技术开发周刊 | 300

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 著名数据和AI企业Databricks&#xff0c;收购类ChatGPT开源平台MosaicML 6月27日&#xff0c;Databricks在官网宣布&#xff0c;以13亿美元&#xff08;约94亿元&#xff…

浅析便捷生活的新选择——抖音本地服务

抖音是一款风靡全球的短视频分享平台&#xff0c;其本地服务功能的发展也逐渐引起了广泛关注。本地服务是指抖音平台上的用户可以通过平台直接查找并使用周边的各种服务&#xff0c;比如美食外卖、快递配送、家政服务等。本地服务的发展对用户和商家都带来了很多便利和机遇。 首…

Spring Boot 中的 Spring Cloud Hystrix 是什么,原理,如何使用

Spring Boot 中的 Spring Cloud Hystrix 是什么&#xff0c;原理&#xff0c;如何使用 简介 在分布式系统中&#xff0c;服务之间的调用是不可避免的。但是&#xff0c;当一个服务调用另一个服务时&#xff0c;如果被调用的服务出现了故障或者延迟&#xff0c;那么调用者也会…

发布/上传Jar包到Maven中央仓库

1.注册Sonatype账号 2.项目申请&#xff0c;创建工单 2.1回复 groupId 域名 可以使用github&#xff0c; io.github.账号 创建工单根据评论回复&#xff0c;需要创建临时仓库&#xff0c;验证账户所有权。 3.gpg4win 地址&#xff1a;https://www.gpg4win.org/download.html &…

电子时钟制作(瑞萨RA)(5)----定时器驱动数码管

概述 要想让每个数码管显示不同的数字&#xff0c;但是数码管必须依次地被持续驱动&#xff0c;数码管之间的刷新速度应该足够快&#xff0c;这样就看不出来数码管之间在闪烁。刷新频率可以设置为2ms刷新一次&#xff0c;这样人眼就看不出闪烁了。 硬件准备 首先需要准备一个…

2011年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——纯享题目版

&#x1f3e0;个人主页&#xff1a;fo安方的博客✨ &#x1f482;个人简历&#xff1a;大家好&#xff0c;我是fo安方&#xff0c;考取过HCIE Cloud Computing、CCIE Security、CISP、RHCE、CCNP RS、PEST 3等证书。&#x1f433; &#x1f495;兴趣爱好&#xff1a;b站天天刷&…

生态环境脆弱性评价模型构建、时空格局演变分析与RSEI 指数的生态质量评价及拓展

近年来&#xff0c;国内外学者在生态系统的敏感性、适应能力和潜在影响等方面开展了大量的生态脆弱性研究&#xff0c;他们普遍将生态脆弱性概念与农牧交错带、喀斯特地区、黄土高原区、流域、城市等相结合&#xff0c;评价不同类型研究区的生态脆弱特征&#xff0c;其研究内容…