Java使用Mybatis-Plus实现根据参数动态拼接查询条件

2023-11-02

在编写代码的过程中我们常常会遇到下面的业务场景:我们需要根据传进来的参数来去进行拼接查询,例如当前端传过来的参数是base,那么我们就需要在Mybatis-Plus的条件构造其中写出如下语句:

public PageUtils queryBaseAttrBase(Map<String, Object> params, Long catelogId, String attrType) {
     //params表示前端传递的各种信息,例如分页信息等(本实例中可忽略)
     //catelogId表示该实体中的主键ID(本实例中可忽略)
     //attrType表示前端传递过来的类型条件,该实例中用这个字段来判断
     QueryWrapper<Entity> queryWrapper = new QueryWrapper<>();
     queryWrapper .eq("attr_type","base".equalsIgnoreCase(attrType)?1:0);

该条件构造器的意思大致是:当传进来的参数在忽略大小写的情况下为“base”时,那么就拼接attr_type="1"的条件,若传进来的参数不为“base”时,就拼接attr_type="0"的条件。
在条件构造其中就相当于做了一个简单的判断,如果涉及到更加复杂的业务场景,可以自行在java中添加判断条件进行条件构造器的动态构造。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java使用Mybatis-Plus实现根据参数动态拼接查询条件 的相关文章

  • 垃圾收集器如何在幕后工作来收集死对象?

    我正在阅读有关垃圾收集的内容 众所周知 垃圾收集会收集死亡对象并回收内存 我的问题是 Collector 如何知道任何对象已死亡 它使用什么数据结构来跟踪活动对象 我正在研究这个问题 我发现GC实际上会跟踪活动对象 并标记它们 每个未标记的
  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja
  • Mockito 使用 @Mock 时将 Null 值注入到 Spring bean 中?

    由于我是 Spring Test MVC 的新手 我不明白这个问题 我从以下代码中获取了http markchensblog blogspot in search label Spring http markchensblog blogsp
  • 如何在单个查询中搜索 RealmObject 的 RealmList 字段

    假设我有一堂课 public class Company extends RealmObject private String companyId private RealmList
  • 如何在php中根据url从mysql获取数据?

    我在 mysql 数据库中有一个页表 其中包含 page name title content author 字段 我想用 php 来获取它http www domain com index php page page name http
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • Java 中如何将 char 转换为 int? [复制]

    这个问题在这里已经有答案了 我是Java编程新手 我有例如 char x 9 我需要得到撇号中的数字 即数字 9 本身 我尝试执行以下操作 char x 9 int y int x 但没有成功 那么我应该怎么做才能得到撇号中的数字呢 ASC
  • 将非 Android 项目添加到 Android 项目

    我在 Eclipse 中有三个项目 Base Server 和 AndroidClient Base和Server是Java 1 7项目 而AndroidClient显然是一个android项目 基础项目具有在服务器和 Android 客户
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 在Java中运行bat文件并等待

    您可能会认为从 Java 启动 bat 文件是一项简单的任务 但事实并非如此 我有一个 bat 文件 它对从文本文件读取的值循环执行一些 sql 命令 它或多或少是这样的 FOR F x in CD listOfThings txt do
  • Java继承,扩展类如何影响实际类

    我正在查看 Sun 认证学习指南 其中有一段描述了最终修饰符 它说 如果程序员可以自由地扩展我们所知的 String 类文明 它可能会崩溃 他什么意思 如果可以扩展 String 类 我是否不会有一个名为 MyString 的类继承所有 S
  • 轻松的反应

    我有一个与这里描述的类似的案例 动态更改RESTEasy服务返回类型 https stackoverflow com questions 3786781 dynamically change resteasy service return
  • hibernate 6.0.2.Final 和 spring boot 2.7.0 的entityManagerFactory bean 未配置问题

    所以最近我想升级我的 Spring Boot 项目项目的一些依赖项 特别是这些组件 雅加达 EE 9 弹簧靴2 7 休眠 6 0 2 Final 完成此操作后 所有更新和代码折射 更新将 javax 导入到 jakarta 以及一些 hib
  • 在java中以原子方式获取多个锁

    我有以下代码 注意 为了可读性 我尽可能简化了代码 如果我忘记了任何关键部分 请告诉我 public class User private Relations relations public User relations new Rela
  • MySQL 复制是双向的

    我们已经成功设置了 MySQL 文献中描述的主从复制 不过 我很好奇是否有人设置了双向复制 例如 如果安装了 Drupal 或 Wordpress 第一个 主 数据库服务器出现故障 第二个 从属 数据库服务器恢复正常 与此同时 用户不断进行
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • Java 正则表达式中的逻辑 AND

    是否可以在 Java Regex 中实现逻辑 AND 如果答案是肯定的 那么如何实现呢 正则表达式中的逻辑 AND 由一系列堆叠的先行断言组成 例如 foo bar glarch 将匹配包含所有三个 foo bar 和 glarch 的任何
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也
  • 抛出 Java 异常时是否会生成堆栈跟踪?

    这是假设我们不调用 printstacktrace 方法 只是抛出和捕获 我们正在考虑这样做是为了解决一些性能瓶颈 不 堆栈跟踪是在构造异常对象时生成的 而不是在抛出异常对象时生成的 Throwable 构造函数调用 fillInStack
  • java'assert'和'if(){}else exit;'之间的区别

    java和java有什么区别assert and if else exit 我可以用吗if else exit代替assert 也许有点谷歌 您应该记住的主要事情是 if else 语句应该用于程序流程控制 而assert 关键字应该仅用于

随机推荐

  • MSYS2 介绍、下载与安装、Pacman常用命令

    一 MSYS2 介绍 MSYS2 官网 MSYS2 MSYS2 Minimal SYStem 2 是一个集成了大量的GNU工具链 工具和库的开源软件包集合 它提供了一个类似于Linux的shell环境 可以在Windows系统中编译和运行许
  • odoo15设置定时任务

    概念 主要是 ir cron模型 它有以下属性 ir actions server id 服务端动作 cron name 任务名称 user id 调度程序用户 默认是当前环境用户 active 默认True interval number
  • KNN最近邻算法——原理和Python代码

    KNN最近邻算法是一种监督学习算法 基本思想是取距离测试数据最近的K个点 这K个点训练数据属于某一类型的数量多 则将该测试数据点也判断为该类 距离可以取 1 欧氏距离 2 曼哈顿距离 算法 1 计算测试数据与各个训练数据之间的距离 2 按照
  • java基础:Object类和Objects工具类的介绍

    1 Object 1 说明 Object类是所有类 数组 枚举类的父类 java允许把任何类型的对象赋给Object类型的变量 当定义一个类时没有使用extends为它显式指定父类 则该类默认继承Object父类 2 Object类的常用方
  • Servlet的Cookie与Seesion的介绍

    什么是Cookie Cookie是服务器在本地机器上存储的小段文本 它是一个简单的字符串形式的键值对 网络服务器用HTTP头向客户端发送cookie 一般情况下Cookie是由服务端生成的 当然js也能操作cookie 在客户端 浏览器解析
  • Python将numpy(.npy文件)存储为.ply文件

    Python将numpy npy文件 存储为 ply文件 安装Open3D From NumPy to Ply Open3D文档 安装Open3D pip install open3d From NumPy to Ply Pass xyz
  • [561]TensorFlow练习1: 对评论进行分类

    TensorFlow是谷歌2015年开源的一个深度学习库 到现在正好一年 和TensorFlow类似的库还有Caffe Theano MXNet Torch 但是论火爆程度 TensorFlow当之无愧 短短一年就在Github就收获了4万
  • ubuntu安装docker及在docker中使用gpu

    ubuntu安装docker和nvidia docker2 docker19以下版本 安装docker 安装nvidia docker2 docker19以上版本 安装docker 安装nvidia container runtime do
  • CSS布局

    CSS布局 div标签 概念 div div 本身是HTML4的标签 因其特殊性而一直作为CSS布局的核心标签 特点 div div 本身默认样式极少 只有默认块级元素这一项 没有太多默认属性 默认宽度为100 总结 本身不具有太多默认的样
  • CTFshow--web--红包题第六弹

    提示了不是sql注入 需要找源码 查看网页源代码
  • 【Hadoop生态圈】1.Hadoop入门教程及集群环境搭建

    文章目录 1 简介 2 环境准备 3 安装hadoop 3 修改Hadoop配置文件 3 1 hadoop env sh配置 3 2 core site xml配置 3 3 hdfs site xml配置 3 4 mapred site x
  • 实操----mybatis自动生成实体类/mapper.java/mapper.xml:mybatis-generator-config

    填错信息导致的常见问题 一 pom里面添加配置 SpringBoot项目创建完成后 在SpringBoot项目的src main resources目录下创建generatorConfiguration xml文件 有时候出现报错找不到文件
  • c++中怎么控制浮点型小数点后输出的位数

    关于这个问题 涉及到的是流的格式化 大家都知道 关于c 的小数输出 小数点后面的尾数全部省略 那么该怎么办呢 我们需要了解一部分关于c 输出时格式的知识 首先 需要有 include
  • 高并发系统设计40问-缓存篇

    系统中使用缓存的优缺点 优点 缓存加快访问速度 便于横向扩展 可分为静态 动态 热点缓存 缺点 增加系统的复杂性 可能导致数据不一致 增加成本
  • html箭头随着点击而移动,Vue实现点击箭头上下移动效果的方法

    Vue实现点击箭头上下移动效果的方法 发布时间 2020 07 02 15 38 11 来源 亿速云 阅读 229 作者 清晨 这篇文章主要介绍Vue实现点击箭头上下移动效果的方法 文中示例代码介绍的非常详细 具有一定的参考价值 感兴趣的小
  • slambook2(ch10)—— Ubuntu18.04安装g2o_viewer + 例程演示

    slambook2 ch10 Ubuntu18 04安装g2o viewer 例程演示 一 安装g2o viewer 1 检查是否安装g2o viewer 2 g2o viewer安装 二 例程演示 1 pose graph g2o SE3
  • fragment组件

    在vue2中 组件必须有一个根标签 在vue3中 组件可以没有根标签 因为内部会将多个标签包含在一个fragment虚拟元素中 优点 减少标签层级 减小内存占用
  • Python搭建自己[IP代理池]

    IP代理是什么 ip就是访问网页数据服务器位置信息 每一个主机或者网络都有一个自己IP信息 为什么要使用代理ip 因为在向互联网发送请求中 网页端会识别客户端是真实用户还是爬虫程序 在今天以互联网为主导的世界中 数据一种资源 谁能得到更多有
  • C语言深入理解指针(非常详细)(五)

    目录 回调函数 qsort使用举例 qsort函数的模拟实现 sizeof和strlen的对比 sizeof strlen sizeof和strlen的对比 一道关于sizeof的题 回调函数 回调函数就是一个通过函数指针调用的函数 如果你
  • Java使用Mybatis-Plus实现根据参数动态拼接查询条件

    在编写代码的过程中我们常常会遇到下面的业务场景 我们需要根据传进来的参数来去进行拼接查询 例如当前端传过来的参数是base 那么我们就需要在Mybatis Plus的条件构造其中写出如下语句 public PageUtils queryBa