欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MybatisPlus操作符和運(yùn)算值詳解

 更新時(shí)間:2024年10月09日 11:11:04   作者:Java王小怪  
在前端到后端的數(shù)據(jù)傳遞中,處理動(dòng)態(tài)運(yùn)算條件是一個(gè)常見的需求,本文介紹了如何在MybatisPlus中處理運(yùn)算符和運(yùn)算值的動(dòng)態(tài)拼接問題,感興趣的朋友一起看看吧

好久沒有更新了,這次更新一個(gè)當(dāng)前端需要對(duì)運(yùn)算符和運(yùn)算值都需要前端傳遞給后端,動(dòng)態(tài)拼接運(yùn)算條件時(shí)的處理方法。

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 {
	/**
	 * 操作運(yùn)算符:>=/<=/=
	 */
    private String operateStr;
}

 3)Mapper內(nèi)容

    <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>

這樣寫雖然接受參數(shù)沒有問題,但是在進(jìn)入Mapper層查詢時(shí)出報(bào)錯(cuò),不能識(shí)別符號(hào)。

2、調(diào)整

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, "<=");
	/**
	 * 操作符對(duì)應(yīng)整數(shù)值
	 */
	private final Integer operateIntValue;
	/**
	 * 條件
	 */
	private final String condition;
	/**
	 * 根據(jù)值獲取條件
	 *
	 * @param value 值
	 * @return 條件
	 */
	public static String getConditionByIntValue(Integer value) {
		for (OperateEnum item : OperateEnum.values()) {
			if (item.getOperateIntValue().equals(value)) {
				return item.getCondition();
			}
		}
		return null;
	}
}

到此這篇關(guān)于MybatisPlus操作符和運(yùn)算值的文章就介紹到這了,更多相關(guān)MybatisPlus運(yùn)算值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論