IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MyBatis查询全流程,使用PageHelper分页查询——教程篇 -> 正文阅读

[大数据]MyBatis查询全流程,使用PageHelper分页查询——教程篇

目录

配置

查询

创建实体类

创建mapper

创建service

创建controller

分页查询

PageHelper分页

添加依赖

配置

?配置参考

使用

?配置时可能出现的错误以及注意事项

出现PageHelper循环依赖

总结


配置

        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!--数据库连接-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
#配置数据库连接
spring:
  datasource:
    username: xxxxx
    password: xxxxx
    url: jdbc:mysql://localhost:3306/vueblog?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver

查询

创建实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private int id;
    private String name;
    private String sex;
}

创建mapper

@Mapper
public interface MyUserMapper {
    @Select("select * from test_user")
    List<User> getAll();
}

?记得在主启动类上上设置mapper扫描包路径

@SpringBootApplication
@MapperScan("com.lt.success.mapper")
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class,args);
    }
}

创建service

在service扩展,demo就不创建service了

创建controller

    @GetMapping("/getAll")
    public List<User> getAll(){
        return myUserMapper.getAll();
    }

分页查询

在实际生产中,都会用到分页查询。分页又分为逻辑分页物理分页

异同:

  • 物理分页每次都访问数据库,逻辑分页只访问一次数据库,物理分页对数据库造成的负担大。
  • 逻辑分页一次性将数据读取到内存,占用了较大的内容空间,物理分页每次只读取一部分数据,占用内存空间较小。
  • 逻辑分页一次性将数据读取到内存,数据发生改变,数据库的最新状态不能实时反映到操作中,实时性差。物理分页每次需要数据时都访问数据库,能够获取数据库的最新状态,实时性强。
  • 逻辑分页主要用于数据量不大、数据稳定的场合,物理分页主要用于数据量较大、更新频繁的场合。

PageHelper分页

添加依赖

        <!--pagehelper-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.10</version>
        </dependency>

配置

pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

?配置参考

来自官网

如何使用分页插件如何使用分页插件https://pagehelper.github.io/docs/howtouse/

pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

使用

    @RequestMapping("/getAll")
    public PageInfo getAll(@RequestParam(required = false,defaultValue = "1")int pageNum ,@RequestParam(required = false,defaultValue = "5")int pageSize){
        //页数和大小,开始分页
        PageHelper.startPage(pageNum,pageSize);
        //从第a个数据开始往后查b个数据
        //PageHelper.offsetPage(a,b);
        //PageInfo可以获取更多的有关信息如总页数,总数……
        PageInfo page = new PageInfo(myUserMapper.getAll());
        return page;
    }

?配置时可能出现的错误以及注意事项

出现PageHelper循环依赖

?原因是依赖冲突,springboot2.6.x版本降级即可

总结

mybatis-plus保姆级别初级使用_运气不好努力来凑-CSDN博客包 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.3</version> </dependency> <depenhttps://blog.csdn.net/wai_58934/article/details/121733644?spm=1001.2014.3001.5502?MybatisPlus代码自动化生成代码,保存自用_运气不好努力来凑-CSDN博客_mybatisplus自动生成代码自用 public static void main(String[] args) { GlobalConfig config = new GlobalConfig(); config.setActiveRecord(true) .setOutputDir("生成文件的路径,自己写本地的") .setFileOverride(true) .setIdType(I...https://blog.csdn.net/wai_58934/article/details/121877447?spm=1001.2014.3001.5502

JPA结合querydsl使用_运气不好努力来凑-CSDN博客_jpa querydsl 一对多JPA教程https://blog.csdn.net/wai_58934/article/details/122515457?spm=1001.2014.3001.5502

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-16 13:11:15  更:2022-02-16 13:11:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:56:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码