自己如何做网站关键词排名,个人营销型网站,深圳外贸网站建设制作,重庆好的seo平台好久没有更新了#xff0c;这次更新一个当前端需要对运算符和运算值都需要前端传递给后端#xff0c;动态拼接运算条件时的处理方法。
1、踩雷
查询年龄 20#xff0c;其中前端下拉框选择#xff0c;20值前端下拉框选择
1#xff09;用户表#xff1a;
CREAT…好久没有更新了这次更新一个当前端需要对运算符和运算值都需要前端传递给后端动态拼接运算条件时的处理方法。
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
) ENGINEInnoDB DEFAULT CHARSETutf8mb4 ROW_FORMATDYNAMIC COMMENT用户表;
2定义VO
import lombok.Data;Data
public class UserVO extends User {/*** 操作运算符://*/private String operateStr;} 3Mapper内容 select idselectUsers resultTypeorg.springboot.xg.vo.UserVOselect * from userwhereif testuserVO.operateStr! null and userVO.operateStr ! and userVO.age! nulland 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;}
}