日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Mysql使用concat函數實現關鍵字模糊查詢功能(列表數據過濾含前后端代碼)

瀏覽:300日期:2023-02-18 16:43:35
目錄
  • 前言
  • 頁面布局
  • sql編寫
  • 后端代碼
  • 接口測試
  • 前端代碼
  • 測試效果
  • 總結

前言

不知道大家在開發中有沒有這樣的經歷:根據條件過濾列表數據項。

這種的條件少的還好,比如根據姓名或者性別過濾,這樣不僅頁面會稍微美觀一些,對于sql的壓力以及后端的代碼量也是會輕松不少的。

但是條件多了,條件1,條件2,條件3…條件100,這時候后端的接口就會一個一個的if判斷,不斷的追加條件(做為后端開發深有體會,頭大)

我給大家簡單畫個圖,大家就明白了:

那么有沒有一種方式,可以又美化頁面,不增加使用者的視覺疲勞,又能做到只輸入一個關鍵字,就能將全部的數據按照輸入的關鍵字進行過濾,從而只留下符合關鍵字信息的呢。

當然有,今天在做自己項目的時候就遇到了這個問題,正好借著這個機會分享我的思路以及相關的代碼。

頁面布局

關于頁面布局,正如上述,我只需要留下一個輸入框,用來過濾列表數據:

sql編寫

那sql就不能無腦使用xxx like xxx and xxx like xxx 這種格式了。

告訴大家一個小技巧,msql的模糊查詢是可以配合concat函數一起使用的。

具體sql格式為:

select a,b,c from table concat(a,b,c) like oncat("%",x,"%")

這樣就可以實現,根據x這個值對a,b,c這三個字段進行過濾了。

下面是一個實戰的sql:

select id, sex, user_name,nick_name,birthday,image,account,password,phone,address,create_time,update_time,is_delete,status from t_user where concat(user_name,nick_name,birthday,account,phone,address,remark) like concat("%","雪","%")order by id desc

備注:查詢出的字段和concat的字段不一定非要是完全匹配的
比如你可以直接查詢a,b,c,d,e 但是只concat(a,e)也是可以的,不需要像union all那么嚴格

后端代碼

有個這個思路,代碼就簡單了,相關代碼如下:

controller

 @GetMapping(value = "/queryList")    public Result queryList(String keyWord) {// 根據關鍵字模糊查詢展示列表數據return Result.ok(userService.queryUserInfo(keyWord));    }

service/impl

 List<User>  queryUserInfo(String keyWord); public List<User> queryUserInfo(String keyWord) {return userMapper.queryUserInfo(keyWord);    }

mapper/xml

 List<User> queryUserInfo(@Param("keyWord") String keyWord); <select id="queryUserInfo" resultType="com.wyh.entity.User">selectid,sex,user_name,nick_name,birthday,image,account,password,phone,address,remark,create_time,update_time,is_delete,statusfrom t_user<where>    is_delete = 0    <if test="keyWord !=null and keyWord !=""">and concat(id,sex,user_name,nick_name,birthday,image,account, password,phone, address,remark, create_time,update_time,is_delete,status) like concat( "%",#{keyWord},"%")    </if></where>order by id desc    </select>

接口測試

這時候接口就寫完了,可以自己簡單測試下:

有參數

無參

前端代碼

接口寫完了,直接調用即可。

由于我前端代碼較多,大多數是和這個業務無關的代碼,所以下面只粘貼關鍵代碼,代碼格式可能不太多,自行調整即可

   <el-input v-model="keyWord" placeholder="請輸入關鍵字" clearable ></el-input>   <el-button type="primary" icon="el-icon-search"  @click="queryUserList">搜索</el-button> data() {    return {keyWord:"", // 輸入框關鍵字    	userTableData: [], // 用戶列表      },  // 展示用戶列表      methods: {      queryUserList() {       axios.get("http://localhost:9090/user/queryList", {  // 傳遞的參數  params: {    keyWord:this.keyWord  }  // 回調函數,一定要使用箭頭函數,不然this的指向不是vue示例  }).then(res =>{    // 請求成功后的數據返回給用戶列表用于展示     this.userTableData = res.data.data;  }).catch(error =>{     console.log(error)  })    }   } mounted() {    // 頁面加載就渲染用戶列表    this.queryUserList();  },

測試效果

既然代碼都寫完了,那就試試看吧,下面為幾個測試截圖:

坑:

經過測試有一個坑,那就是如果concat中的字段值有空的,可能導致查詢不到該數據,就會造成一個假象,明明數據和sql是對的,就是查不出來。

例如:

關于解決方案,目前的只想到一種,就是把數據填滿,盡量不要有空。

感覺這個方案不完善,如果你有好的主意,歡迎評論告訴我

總結

其實用起來還是挺方便簡單的,實際開發中還是要聽從產品或者項目總監的為好。

到此這篇關于Msql使用concat函數實現關鍵字模糊查詢(列表數據過濾-附前后端代碼)的文章就介紹到這了,更多相關Msql concat函數模糊查詢內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: MySQL
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美激情99| 亚洲一区导航| 国产免费久久| 国产亚洲精品美女久久 | 欧美精品资源| 99久精品视频在线观看视频| 欧美国产91| 一二三区精品| 国产情侣一区| 国产精品久久久久久久免费观看| 亚洲一级少妇| 亚洲永久字幕| 欧美日韩少妇| 亚洲精品九九| 欧美黑人做爰爽爽爽| 日韩综合在线| 亚洲免费观看| 久久激情五月婷婷| 成人高清一区| 先锋影音国产一区| 欧美久久久网站| 国产高潮在线| 免费在线观看不卡| 欧美日韩a区| 日韩欧美少妇| 日韩国产一区二| 日本美女一区| 欧美日韩国产观看视频| 亚洲在线观看| 欧美日韩网址| 久久久久美女| 国产美女亚洲精品7777| 水蜜桃精品av一区二区| 一本色道精品久久一区二区三区| 无码日韩精品一区二区免费| 狠狠久久伊人| 蜜桃视频一区二区三区在线观看 | 天堂中文av在线资源库| 欧美日韩国产免费观看 | 在线一区电影| 国产精品欧美一区二区三区不卡| 日韩高清成人| 日韩二区三区在线观看| 美女网站视频一区| 国产欧美一区二区色老头| 欧美日韩四区| 成人片免费看| 国产精品美女久久久久久不卡| 黑丝一区二区三区| 国产一区二区三区久久| 日韩国产精品久久久| 九一精品国产| 麻豆视频在线观看免费网站黄| 日韩精品亚洲专区在线观看| 中文字幕在线高清| 69堂精品视频在线播放| 亚洲深爱激情| 91精品久久久久久久久久不卡| 国产精品久久久久久久久久久久久久久| 亚洲天堂成人| 国产精品久久久久久模特| 在线亚洲观看| 日韩欧美自拍| 国产精品4hu.www| 一区二区日韩免费看| 日韩成人亚洲| 精品视频久久| 国产激情欧美| 欧美一级二级视频| 国产一区白浆| 欧美日韩在线观看视频小说| 麻豆高清免费国产一区| 日韩激情网站| 美国三级日本三级久久99| 亚洲黑丝一区二区| 国产精品成人a在线观看| 国产精品男女| 日本午夜精品久久久| 日韩在线一二三区| 中文久久精品| 亚洲激情另类| 婷婷成人在线| 91精品在线观看国产| 欧美日韩在线观看首页| 91伊人久久| 亚洲人www| 在线观看亚洲精品福利片| 亚洲欧美日本国产专区一区| 亚洲黄色在线| 噜噜噜久久亚洲精品国产品小说| 九一国产精品| 激情久久久久久| 天堂av在线| 亚洲四虎影院| 999久久久免费精品国产| 久久精品主播| 免费毛片在线不卡| 国产亚洲一级| 日av在线不卡| 91精品丝袜国产高跟在线| 伊人久久大香伊蕉在人线观看热v| 在线亚洲观看| 伊人精品久久| 久久国产尿小便嘘嘘| 国产欧美一区二区色老头| 国产精品中文字幕亚洲欧美| 欧美1区2区3| caoporn视频在线| 亚洲四虎影院| 亚洲综合三区| 欧美在线不卡| 国产精品99一区二区三| 精品免费av在线| 欧美va天堂在线| 亚洲天堂日韩在线| 国产精品嫩草99av在线| 无码日韩精品一区二区免费| 国产乱子精品一区二区在线观看| 欧美在线看片| 国产在线观看www| 精品一区亚洲| 日韩精品五月天| 精品一区二区三区的国产在线观看 | 中文欧美日韩| 婷婷久久免费视频| 另类综合日韩欧美亚洲| 超级白嫩亚洲国产第一| 日本精品影院| 视频一区欧美日韩| 国产精品久久| 香蕉国产精品| 日本aⅴ亚洲精品中文乱码| 里番精品3d一二三区| 四虎4545www国产精品 | 亚洲人成高清| 国产精品欧美一区二区三区不卡| 国产成人精选| 久久亚洲色图| 日韩avvvv在线播放| 欧美天堂视频| 日韩和欧美的一区| 夜鲁夜鲁夜鲁视频在线播放| 蜜桃久久av一区| 伊人网在线播放| 日韩中文字幕| 久久天堂成人| 国产一级成人av| 欧美影院三区| 国产日产一区| 亚洲国产不卡| 免费在线欧美黄色| 欧美综合国产| 中文在线资源| 蜜臀91精品一区二区三区| 久久久久久婷| 日本不卡一二三区黄网| 91精品蜜臀一区二区三区在线| 日本高清久久| 婷婷久久一区| 精品国产亚洲一区二区三区| 天使萌一区二区三区免费观看| 精品精品国产三级a∨在线| 亚洲自拍另类| 亚洲日本网址| 国产精品日本一区二区三区在线| 好吊一区二区三区| 精品国产aⅴ| 日韩精品a在线观看91| 精品不卡一区| 日韩激情视频网站| 国产精品婷婷| 久久国产欧美| 日韩中文字幕亚洲一区二区va在线| 日本不卡一区二区| 一区免费在线| 播放一区二区| 精品国产不卡| 日韩在线观看| 午夜久久av| 久久中文字幕av| 国产一区二区三区四区| 免费视频久久| 免费在线小视频| 国产欧美日韩影院| 亚洲精品三级| 蜜臀久久99精品久久久久宅男| 精精国产xxxx视频在线野外| 精品一级视频| 麻豆91在线播放| 国产精品九九| 国产精品毛片久久久| 欧美一区自拍| 日韩高清一区二区| 日韩精品亚洲一区二区三区免费| 国产亚洲毛片| 亚洲欧美日韩视频二区| 欧美天堂亚洲电影院在线观看| 日韩不卡视频在线观看| 久久国产麻豆精品| 欧美亚洲综合视频|