互联网技术社区|福缘小草|程序员技术博客
🏠首页
  • 开发必备
  • Java
  • Spring Boot
  • MyBatis
  • C#
  • 架构
  • 算法
  • Vue
  • JavaScript
  • HTML
  • MySQL
  • Oracle
  • SQL Server
  • PostgreSQL
  • Redis
  • MongoDB
  • ElasticSearch
  • influxDB
  • ClickHouse
  • Linux
  • Docker
  • K8s
  • 消息队列
  • Shell
  • Git
  • Nginx
  • IDEA
  • Windows
  • 安卓
  • 在线工具
  • 实用技巧
  • 开源项目
  • 好文
  • 资源
  • 网站
  • 导航
💖关于
  • 分类
  • 标签
  • 归档

baohua.yin

不会填坑的程序员不是一个好程序猿!
🏠首页
  • 开发必备
  • Java
  • Spring Boot
  • MyBatis
  • C#
  • 架构
  • 算法
  • Vue
  • JavaScript
  • HTML
  • MySQL
  • Oracle
  • SQL Server
  • PostgreSQL
  • Redis
  • MongoDB
  • ElasticSearch
  • influxDB
  • ClickHouse
  • Linux
  • Docker
  • K8s
  • 消息队列
  • Shell
  • Git
  • Nginx
  • IDEA
  • Windows
  • 安卓
  • 在线工具
  • 实用技巧
  • 开源项目
  • 好文
  • 资源
  • 网站
  • 导航
💖关于
  • 分类
  • 标签
  • 归档
  • MyBatis是如何解析if判断的
  • MyBatis-Plus修改空值,把字段修改成空
  • MyBatis-Plus新增修改实现自动填充指定字段
  • Mybatis-Plus QueryWrapper and or 连用并且分页
    • Mybatis-Plus实现自定义通用方法
    • MyBatis
    baohua.yin
    2023-03-17
    目录

    Mybatis-Plus QueryWrapper and or 连用并且分页

    # 1、分页查询写法

        
        Page<TestEntity> rpage =
         	baseMapper.selectPage(
                    new Page<>(pageBean.getPageSize(), pageBean.getPageNum()),
                    new QueryWrapper<TestEntity>()
                        .eq("siteid", siteid)
                        .and(
                            wrapper ->
                                wrapper
                                    .or()
                                    .lt("createtime", updatetime)
                                    .or()
                                    .lt("deletetime", updatetime)
                                    .or()
                                    .lt("operatetime", updatetime)
                                    .or()
                                    .lt("updatetime", updatetime)));
        
        
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19

    # 2、and or拼完后的结果是这样的:

    
        new QueryWrapper<TestEntity>()
                        .eq("siteid", siteid)
                        .and(
                            wrapper ->
                                wrapper
                                    .or()
                                    .lt("createtime", updatetime)
                                    .or()
                                    .lt("deletetime", updatetime)
                                    .or()
                                    .lt("operatetime", updatetime)
                                    .or()
                                    .lt("updatetime", updatetime)))
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    # 3、最终Sql:

    
        
        SELECT
        	* 
        FROM
        	t 
        WHERE
        	useflag = 1 
        	AND (
        		siteid =? 
        		AND (
        			createtime < ? 
        			OR deletetime < ? 
        		OR operatetime < ? 
        	OR updatetime < ?))
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    上次更新: 2023/03/17, 16:17:59
    MyBatis-Plus新增修改实现自动填充指定字段
    Mybatis-Plus实现自定义通用方法

    ← MyBatis-Plus新增修改实现自动填充指定字段 Mybatis-Plus实现自定义通用方法→

    最近更新
    01
    如何进行科学上网
    05-31
    02
    分享(一个外地女孩,死在了我出租的公寓)
    08-18
    03
    温家宝总理—《我的母亲》
    06-13
    更多文章>
    Copyright © 2019-2025 1024fuli.com | 本站所有资源收集整理于网络,如有侵权请发邮件联系删除。| 粤ICP备18082936号-1 | 由又拍云提供CDN支持
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式