当前位置: 首页 > news >正文

MybatisPlus操作符和运算值

好久没有更新了,这次更新一个当前端需要对运算符和运算值都需要前端传递给后端,动态拼接运算条件时的处理方法。

1、踩雷

查询年龄 >=20,其中>=前端下拉框选择,20值前端下拉框选择

1)用户表:

CREATE TABLE `user` (`id` bigint(20) NOT NULL COMMENT '主键',`name` varchar(12)  COMMENT '用户名称',`hobby` varchar(12) DEFAULT NULL COMMENT '爱好',`age`  int(11) DEFAULT NULL COMMENT '用户年龄',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='用户表';

2)定义VO:

import lombok.Data;@Data
public class UserVO extends User {/*** 操作运算符:>=/<=/=*/private String operateStr;}

 3)Mapper内容

    <select id="selectUsers" resultType="org.springboot.xg.vo.UserVO">select * from user<where><if test="userVO.operateStr!= null and userVO.operateStr != '' and  userVO.age!= null">and avg_delay ${userVO.operateStr} #{userVO.age}</if></where></select>

这样写虽然接受参数没有问题,但是在进入Mapper层查询时出报错,不能识别符号。

2、调整

1)定义枚举

package org.springboot.xg.enums;import lombok.AllArgsConstructor;
import lombok.Getter;@Getter
@AllArgsConstructor
public enum OperateEnum {// 大于等于GREATER_THAN_OR_EQUAL_TO(1, ">="),// 等于BE_EQUAL_TO(2, "="),// 小于等于LESS_THAN_OR_EQUAL_TO(3, "<=");/*** 操作符对应整数值*/private final Integer operateIntValue;/*** 条件*/private final String condition;/*** 根据值获取条件** @param value 值* @return 条件*/public static String getConditionByIntValue(Integer value) {for (OperateEnum item : OperateEnum.values()) {if (item.getOperateIntValue().equals(value)) {return item.getCondition();}}return null;}
}

http://www.lryc.cn/news/459434.html

相关文章:

  • Index-1.9B模型部署教程
  • C语言 | Leetcode C语言题解之第468题验证IP地址
  • Qt自定义一个圆角对话框
  • C++ 中的自旋锁应用:SpinLockManual、SpinLockGuard 和 SpinLockTryGuard
  • 计算机网络 tcp和udp
  • React(一) 认识React、熟悉类组件、JSX书写规范、嵌入变量表达式、绑定属性
  • 计算机网络 2024 11 10
  • King3399(ubuntu文件系统)风扇驱动
  • 前端开发笔记--html 黑马程序员2
  • django(二):定义第一个函数及url介绍
  • 66 消息队列
  • 【系统分析师】-案例篇-信息系统安全
  • 基于极光优化算法(Polar Lights Optimization, PLO)的多无人机协同三维路径规划(提供MATLAB代码)
  • TypeScript类型体操5
  • 搭建广告展示页Start
  • 无极低码基础版(部署版)课程计划
  • Word文档功能快捷键大全
  • 题目:1297. 子串的最大出现次数
  • 一力破万法,高并发系统优化通解思路
  • P8635 [蓝桥杯 2016 省 AB] 四平方和
  • ElasticSearch是什么?
  • 2024年四非边缘鼠鼠计算机保研回忆(记录版 碎碎念)
  • clickhouse常用脚本语句
  • GeneMark软件的秘钥gm_key失效怎么办?
  • 线性回归逻辑回归-笔记
  • 如何将数据从 AWS S3 导入到 Elastic Cloud - 第 1 部分:Elastic Serverless Forwarder
  • Linux基础-正则表达式
  • 【HTML格式PPT离线到本地浏览】
  • 如何在Vue项目中封装axios
  • linux 配置ssh免密登录