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

MybatisPlus操作符和運算值詳解

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

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

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內(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層查詢時出報錯,不能識別符號。

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, "<=");
	/**
	 * 操作符對應(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操作符和運算值的文章就介紹到這了,更多相關(guān)MybatisPlus運算值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java導(dǎo)出Excel文件的步驟全紀(jì)錄

    java導(dǎo)出Excel文件的步驟全紀(jì)錄

    這篇文章主要給大家介紹了關(guān)于java導(dǎo)出Excel文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • java多線程中斷代碼詳解

    java多線程中斷代碼詳解

    這篇文章主要介紹了java多線程中斷代碼詳解,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • java實現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實例代碼

    java實現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實例代碼

    下面小編就為大家?guī)硪黄猨ava實現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 淺談Java分布式架構(gòu)下如何實現(xiàn)分布式鎖

    淺談Java分布式架構(gòu)下如何實現(xiàn)分布式鎖

    這篇文章主要介紹了淺談Java分布式架構(gòu)下如何實現(xiàn)分布式鎖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 區(qū)塊鏈常用數(shù)據(jù)庫leveldb用java來實現(xiàn)常規(guī)操作的方法

    區(qū)塊鏈常用數(shù)據(jù)庫leveldb用java來實現(xiàn)常規(guī)操作的方法

    這篇文章主要介紹了區(qū)塊鏈常用數(shù)據(jù)庫leveldb用java來實現(xiàn)常規(guī)操作,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • SpringMvc自動裝箱及GET請求參數(shù)原理解析

    SpringMvc自動裝箱及GET請求參數(shù)原理解析

    這篇文章主要介紹了SpringMvc自動裝箱及GET請求參數(shù)原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Java8新日期時間API的20個使用示例

    Java8新日期時間API的20個使用示例

    這篇文章主要介紹了Java8新日期時間API的20個使用示例,為了學(xué)習(xí)Java 8的這個新庫,這里我創(chuàng)建了20個以任務(wù)為導(dǎo)向的例子,需要的朋友可以參考下
    2015-03-03
  • Java與Python之間使用jython工具類實現(xiàn)數(shù)據(jù)交互

    Java與Python之間使用jython工具類實現(xiàn)數(shù)據(jù)交互

    今天小編就為大家分享一篇關(guān)于Java與Python之間使用jython工具類實現(xiàn)數(shù)據(jù)交互,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 微信、支付寶二碼合一掃碼支付實現(xiàn)思路(java)

    微信、支付寶二碼合一掃碼支付實現(xiàn)思路(java)

    這篇文章主要為大家詳細(xì)介紹了微信、支付寶二碼合一掃碼支付實現(xiàn)思路,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Spring boot集中異常處理方法實例

    Spring boot集中異常處理方法實例

    這篇文章主要介紹了Spring boot集中異常處理方法實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04

最新評論