使用場景
查詢文章的方法中有一個需求是根據Tag查詢,tag標簽在數據庫中存儲的是一個字符串數組,現在前端傳入一個字符串數組或者一個字符串,判斷數據庫中存儲的數組是否包含這個數組中的元素,之前用的是like方法判斷,但是如果兩個標簽很像的話就會查到錯誤的數據。
解決方法
使用mysql中的FIND_IN_SET方法可以滿足這個需求
//使用find_in_set判斷參數是否在數組中
queryWrapper1.lambda().in(Activities::getOriganizationId, ids)
.apply(!tag.isEmpty(), "FIND_IN_SET ('" + tag + "',label)");
調用接口測試
只傳 第二 的話不會查到數據
tag取值 第二課堂 ,就可以正常查詢到數據