精华内容
下载资源
问答
  • Mybatis-Plus分页查询
    千次阅读
    2021-03-13 12:32:47

    dao层

    package com.vinsuan.parkingclient.dao;

    import com.baomidou.mybatisplus.core.mapper.BaseMapper;

    import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

    import com.vinsuan.parkingclient.domain.vo.PlateNumCarVo;

    import org.apache.ibatis.annotations.Param;

    import java.util.List;

    public interface PlateNumCarVoMapper extends BaseMapper {

    List listCarInfo(Page page, @Param("plateNo") String plateNo);

    }

    mapper文件和没有进行分页的一样

    service层

    package com.vinsuan.parkingclient.service;

    import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

    import com.baomidou.mybatisplus.extension.service.IService;

    import com.vinsuan.parkingclient.domain.vo.PlateNumCarVo;

    import org.apache.ibatis.annotations.Param;

    import java.util.List;

    public interface PlateNumCarVoService extends IService {

    Page> listPlateNumCar(Page page, @Param("plateNo") String plateNo);

    }

    serviceImpl层:

    package com.vinsuan.parkingclient.service.impl;

    import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

    import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

    import com.vinsuan.parkingclient.dao.PlateNumCarVoMapper;

    import com.vinsuan.parkingclient.domain.vo.PlateNumCarVo;

    import com.vinsuan.parkingclient.service.PlateNumCarVoService;

    import org.springframework.stereotype.Service;

    import java.util.List;

    /**

    * @author 今夜无月

    * @version V1.0

    * @Package com.vinsuan.parkingclient.service.impl

    * @date 2019-12-29 11:26

    * @Copyright xiao

    */

    @Service

    public class PlateNumCarVoServiceImpl extends ServiceImpl implements PlateNumCarVoService {

    @Override

    public Page> listPlateNumCar(Page page, String plateNo) {

    List list = baseMapper.listCarInfo(page, plateNo);

    return page.setRecords(list);

    }

    }

    controlle层:

    @ApiOperation(value = "通过车牌名模糊查询有牌车信息")

    @GetMapping("getCarByPlateNo")

    public R listCarInfo(@RequestParam(value = "pageNum", required = true, defaultValue = "0") Integer pageNum,

    @RequestParam(value = "pageSize", required = true, defaultValue = "20") Integer pageSize, String plateNo) {

    Page page = new Page<>(pageNum, pageSize);

    return new R(plateNumCarVoService.listPlateNumCar(page, plateNo));

    }

    更多相关内容
  • 主要介绍了mybatis-plus分页查询的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了MyBatis-Plus 分页查询以及自定义sql分页的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中...《MyBatis-Plus入门文档》主要介绍了MyBatis-Plus入门使用,以及关于mybatis-plus的更多介绍及特性,感兴趣的可以下载学习一下
  • springboot整合mybatis-plus实现多表分页查询,assocication和collection一对一,一对多关联。简单易懂,容易上手!
  • MyBatis-Plus 分页查询

    2022-02-22 12:39:54
    MyBatis-Plus 分页查询 MySQL-User 数据表信息 id name age email create_time update_time 1 Jone 18 test1@baomidou.com 2022-02-22 08:56:15 2022-02-01 08:56:20 2 Jack 20 test2@baomidou.com 2022-...

    MyBatis-Plus 分页查询

    MySQL-User 数据表信息

    idnameageemailcreate_timeupdate_time
    1Jone18test1@baomidou.com2022-02-22 08:56:152022-02-01 08:56:20
    2Jack20test2@baomidou.com2022-02-16 09:00:442022-02-17 09:00:48
    3Tom28test3@baomidou.com2022-02-10 09:00:522022-02-19 09:00:57
    4Sandy21test4@baomidou.com2022-02-14 09:01:022022-02-21 09:01:06
    5Billie24test5@baomidou.com2022-02-09 09:01:132022-02-18 09:01:19
    6YCloud22test6@baomidou.com2022-02-22 09:02:192022-02-22 09:02:23
    7TrainingL23test7@baomidou.com2022-02-01 09:02:572022-02-10 09:03:01
    8Demo22test8@baomidou.com2022-02-04 09:03:242022-02-14 09:03:28
    9Geoffrey30test9@baomidou.com2022-01-12 09:04:302022-02-10 09:04:34
    10George27test10@baomidou.com2022-02-09 09:05:092022-02-12 09:05:12
    11William42test11@baomidou.com2022-02-22 09:05:452022-02-22 09:05:47
    12Glen30test12@baomidou.com2022-02-08 09:07:032022-02-28 09:07:06

    1、MyBatis-Plus 查询操作

    1、通过 id 主键查询记录(唯一性):T selectById(Serializable id)

    //测试查询
    @Test
    public void testSelectById(){
        //通过id=1L主键查询记录(唯一性)
        User user = userMapper.selectById(1L);
        System.out.println(user);
    }
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RCz1AkjU-1645504787904)(C:\Users\17209\AppData\Roaming\Typora\typora-user-images\image-20220222085721085.png)]

    2、通过 id 集合批量查询记录:List<T> selectBatchIds(Collection idList)

    //测试批量查询
    @Test
    public void testSelectByBatchId(){
        List<Integer> ids = Arrays.asList(1, 2, 3);
        //通过id集合查询记录
        List<User> users = userMapper.selectBatchIds(ids);
        for (User user : users) {
            System.out.println(user);
        }
    }
    

    3、按条件查询之一(使用map操作): selectByMap()

    //按条件查询之一:使用map操作
    @Test
    public void testSelectByMap(){
        HashMap<String, Object> map = new HashMap<>();
        //自定义要查询的条件
        map.put("name", "YCloud");
        map.put("age", 22);
        //返回值是一个列表,因为可能返回多条记录
        List<User> users = userMapper.selectByMap(map);
        for (User user : users) {
            System.out.println(user);
        }
    }
    

    2、分页查询(如何使用?)

    1、配置分页插件

    @Configuration
    public class MyBatisPlusConfig {
        @Bean
        public PaginationInterceptor paginationInterceptor() {
            return new PaginationInterceptor();
        }
    }
    

    在高版本的 SpringBoot 中,这种配置方式已经过时了,所以采用另一种写法 MybatisPlusInterceptor , 如下:

    @Configuration
    public class MyBatisPlusConfig {
        //分页插件——新的分页插件,旧版本PaginationInterceptor失效了
        @Bean
        public MybatisPlusInterceptor mybatisPlusInterceptor(){
            MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
            interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
            return interceptor;
        }
    }
    

    2、直接使用 Page 对象

    方法描述
    getRecords()查询当前页的数据记录,返回类型是列表
    getTotal()查的记录的总数
    getSize()页面大小
    getPages()总页数
    hasPrevious()当前页是否有上一页
    hasNext()当前页是否有下一页
    getCurrent()返回当前页码
    //测试分页查询
    @Test
    public void testPage(){
        //参数一:当前页,参数二:页面大小
        //使用了分页插件之后,所有的分页操作也变得简单
        Page<User> page = new Page<>(1, 5);
        userMapper.selectPage(page, null);
    
        List<User> records = page.getRecords();
        for (User user : records) {
            System.out.println(user);
        }
        System.out.println("记录总数:" + page.getTotal());
        System.out.println("每一页的大小:" + page.getSize());
        System.out.println("是否有上页:" + page.hasPrevious());
        System.out.println("当前页:" + page.getCurrent());
        System.out.println("总页数:" + page.getPages());
        System.out.println("是否有下页:" + page.hasNext());
    }
    

    控制台打印日志:

    ==>  Preparing: SELECT COUNT(*) FROM user
    ==> Parameters: 
    <==    Columns: COUNT(*)
    <==        Row: 12
    <==      Total: 1
    ==>  Preparing: SELECT id,name,age,email,create_time,update_time FROM user LIMIT ?
    ==> Parameters: 5(Long)
    <==    Columns: id, name, age, email, create_time, update_time
    <==        Row: 1, Jone, 18, test1@baomidou.com, 2022-02-22 08:56:15, 2022-02-01 08:56:20
    <==        Row: 2, Jack, 20, test2@baomidou.com, 2022-02-16 09:00:44, 2022-02-17 09:00:48
    <==        Row: 3, Tom, 28, test3@baomidou.com, 2022-02-10 09:00:52, 2022-02-19 09:00:57
    <==        Row: 4, Sandy, 21, test4@baomidou.com, 2022-02-14 09:01:02, 2022-02-21 09:01:06
    <==        Row: 5, Billie, 24, test5@baomidou.com, 2022-02-09 09:01:13, 2022-02-18 09:01:19
    <==      Total: 5
    

    可以看到分页插件的底层也是通过数据库 limit 查询来做分页的。

    展开全文
  • mybatis-plus分页查询

    2022-03-15 09:14:33
    配置mybatis-plus分页插件 serviceImpl层

    配置mybatis-plus分页插件

    serviceImpl层

    展开全文
  • Mybatis-plus 分页查询

    2021-07-31 06:09:55
    MyBatis-Plus(opens new window)(简称 MP)是一个MyBatis(opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 特性: 无侵入:只做增强不做改变,引入它不会对现有工程...

    简介:

    MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

    特性:

    • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
    • 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
    • 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
    • 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
    • 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
    • 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
    • 支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
    • 内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
    • 内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
    • 分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
    • 内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
    • 内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作

    一.新建MybatisPlusConfig配置文件和Maven依赖:

    1.配置文件

    @Configuration
    public class MybatisPlusConfig {
        // mybatis-plus 分页配置
        @Bean
        public MybatisPlusInterceptor mybatisPlusInterceptor() {
            MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
            interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
            return interceptor;
        }
    }
    

    2.Maven依赖

    <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
    </dependency>
    

    二.启动类上扫描Mapper类:

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

    三.创建Contorller方法:

    @PostMapping("/getUserPaging")
        public Map<String, Object> getUserPaging(@RequestBody UserV user) {
            HashMap<String, Object> map = new HashMap<>();
            IPage<User> userPaging = userService.getUserPaging(user);
            map.put("data",userPaging);
            return map;
        }
    
    

    四.创建Service方法:

    public interface UserService {
        IPage<User> getUserPaging(UserV user);
    }
    
    

    五.创建Service实现类:

    @Override
        public IPage<User> getUserPaging(UserV user) {
            Page<User> page = new Page<>(1, 1);// 页数,每页条数
            IPage<User> iPage = userMapper.getUserPaging(page, null);
            System.out.println(iPage);
            System.out.println("总页数:" + iPage.getPages());
            System.out.println("总记录数:" + iPage.getTotal());
            return iPage;
        }
    
    

    六.创建Mapper方法:

    public interface UserMapper {
        IPage<User> getUserPaging(Page<User> page);
    }
    
    

    七.创建XML文件:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="com.example.demo.mapper.UserMapper">
        <select id="getUserPaging" resultType="com.example.demo.entity.model.User">
            select * from user
        </select>
    </mapper>
    
    

    八.测试:

    {
        "data": {
            "records": [
                {
                    "id": 1,
                    "name": "会说话的猫",
                    "password": "123456",
                    "mailbox": "77531836@qq.com",
                    "website": ""
                }
            ],
            "total": 9,
            "size": 1,
            "current": 1,
            "orders": [],
            "optimizeCountSql": true,
            "hitCount": false,
            "countId": null,
            "maxLimit": null,
            "searchCount": true,
            "pages": 9
        }
    }
    
    
    展开全文
  • SpringBoot整合mybatis-plus实现多数据源的动态切换且支持分页查询,案例以postgresql和oracle数据库为数据源,分别使用mybatis-plus分页插件和pagehelper分页插件实现分页查询
  • 主要介绍了MyBatis-Plus多表联合查询并且分页(3表联合),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要给大家介绍了关于结合mybatis-plus实现简单不需要写sql的多表查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mybatis-plus具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • 本篇文章主要介绍了Mybatis-Plus 多表联查分页的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • mybatis-plus分页
  • Mybatis-plus分页查询

    2020-11-02 21:18:00
    * 分页记录列表 * * @return 分页对象记录列表 */ List<T> getRecords(); IPage接口中的上述方法在Page类中实现。 该方法只能够查询得到当前页的数据。 Page<User> page = new Page<User>(1...
  • 【自动生成Entity Mapper Service文件】Mybatis-plusMybatis增强工具包) v3.3.2更新日志分页参数提取,单元测试用例修复 达梦数据库代码生成器表过滤支持 微软数据库代码生成器表过滤支持 修复代码生成器属性...
  • 最通俗易懂的mybatis-plus分页查询插件讲解,并结合项目开发作了深层次了解,以掌握在项目中如何使用分页查询后面项目将会对员工的账号状态进行相关操作!
  • MyBatis-plus 源码解析

    2020-12-14 16:57:56
    它在MyBatis原本的框架上增加了很多实用性功能,比如乐观锁插件、字段自动填充功能、分页插件、条件构造器、sql 注入器等等。使用 MyBatis-plus 可以完全不写任何 XML 文件,直接使用继承了BaseMapper 接口的对象...
  • 在整合mybatis-plus时可以先参考官网:快速开始 一、引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <...
  • 在config包下创建一个配置类:MybatisPlusConfig 在类上添加@Configuration 编写方法 方法上使用@Bean注解:添加MybatisPlusInterceptor对象到容器中 创建MybatisPlusInterceptor拦截器对象 添加内部分页拦截器:...
  • 文章目录一、MyBatis-Plus二、使用步骤1....使用分页查询 一、MyBatis-Plus MyBatis-Plus官网:https://mp.baomidou.com/ MyBatis-Plus (简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBa
  • 分页查询 排序 简易组,还没有Having哦 可以用来三两句从事定一些简单的关联查询业务,解决不需要写的代码 设计说明 如何关联表? 找第一张表注解为TableId(mybatis-plus注解)的属性名,到每二张表查找同样的属性...
  • 但是奇怪的是,如果我不设置QueryWrapper参数,where后面的分页限制又是可以出来的。百思不得其解作者的想法。。。 具体看代码: @Override public PageUtils queryPage(Map<String> params) { IPage...
  • 配置 ...import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration
  • 前端html分页逻辑是手写的,用的是Thymeleaf模板引擎,后端用的是mybatis plus的内置分页功能
  • mybatis-plus整合了很多我们无需重复操作的功能,直接使用即可,下面举出两个分页的例子。 1.默认无条件分页查询 public abstract IService<T> getIService(); /** * 分页查询 * @param current * @...
  • Mybatis-plus学习.md

    2020-07-04 16:28:27
    这是本人学习mybatis-plus的笔记,里面详细记录了mybatis-plus相关教程,目录如下:版本说明、快速开始、配置、主键策略、自动填充功能、乐观锁插件、分页插件、逻辑删除、性能分析插件、条件构造器、代码生成器。...
  • 使用MyBatis-Plus分页,必须配上这个分页拦截器,否则分页失效 方式1: 在启动类加入: @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new ...
  • 1.依赖 <dependency>...mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency> <!-- https://mvnrepository.com/artifac

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,141
精华内容 7,256
关键字:

mybatis-plus分页查询