成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

Mysql使用concat函數(shù)實現(xiàn)關(guān)鍵字模糊查詢功能(列表數(shù)據(jù)過濾含前后端代碼)

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

前言

不知道大家在開發(fā)中有沒有這樣的經(jīng)歷:根據(jù)條件過濾列表數(shù)據(jù)項。

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

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

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

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

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

頁面布局

關(guān)于頁面布局,正如上述,我只需要留下一個輸入框,用來過濾列表數(shù)據(jù):

sql編寫

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

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

具體sql格式為:

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

這樣就可以實現(xiàn),根據(jù)x這個值對a,b,c這三個字段進行過濾了。

下面是一個實戰(zhàn)的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那么嚴(yán)格

后端代碼

有個這個思路,代碼就簡單了,相關(guān)代碼如下:

controller

 @GetMapping(value = "/queryList")    public Result queryList(String keyWord) {// 根據(jù)關(guān)鍵字模糊查詢展示列表數(shù)據(jù)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>

接口測試

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

有參數(shù)

無參

前端代碼

接口寫完了,直接調(diào)用即可。

由于我前端代碼較多,大多數(shù)是和這個業(yè)務(wù)無關(guān)的代碼,所以下面只粘貼關(guān)鍵代碼,代碼格式可能不太多,自行調(diào)整即可

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

測試效果

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

坑:

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

例如:

關(guān)于解決方案,目前的只想到一種,就是把數(shù)據(jù)填滿,盡量不要有空。

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

總結(jié)

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

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

標(biāo)簽: MySQL
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
在线成人av影院| 久久久精品综合| 日韩欧美亚洲另类制服综合在线 | 国产精品久久久久久亚洲伦| 成人黄页在线观看| 久久精品成人| 亚洲色图丝袜美腿| 欧美精品一区二区视频| 日韩欧美中文一区| 国产精品一区二区久久精品爱涩| 欧美最猛黑人xxxxx猛交| 五月婷婷欧美视频| 国产伦精品一区二区三区视频孕妇| 国产精品―色哟哟| 欧美99久久| 久久综合一区二区| 99热在这里有精品免费| 精品久久久久久无| 不卡在线观看av| 精品美女一区二区| 成人18精品视频| 日韩欧美一区二区视频| 国产精品99久久不卡二区| 精品视频999| 久久99精品国产91久久来源| 欧美自拍偷拍午夜视频| 裸体一区二区三区| 日本久久一区二区| 久久国产欧美日韩精品| 欧美日韩一区二区欧美激情 | 亚洲欧美偷拍三级| 亚洲无线视频| 国产精品天干天干在观线| 欧美日韩一卡| 国产亚洲人成网站| 欧美女人交a| 国产精品久久久久7777按摩| 亚洲看片网站| 亚洲第一久久影院| 欧美综合一区二区| 国产91精品久久久久久久网曝门 | 水蜜桃久久夜色精品一区的特点| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 久久本道综合色狠狠五月| 婷婷开心久久网| 欧美性欧美巨大黑白大战| 国产jizzjizz一区二区| 国产三级一区二区三区| 亚洲福利免费| 日韩激情视频在线观看| 欧美在线影院一区二区| 国产精品中文字幕一区二区三区| 欧美日韩精品福利| 成人h精品动漫一区二区三区| 欧美激情在线看| 欧美欧美天天天天操| 国产精品护士白丝一区av| 一区二区在线视频观看| 国产亚洲一区二区三区四区| 精品69视频一区二区三区Q| 国产精品久久久久久久久免费桃花 | 日本最新不卡在线| 久久一区欧美| 欧美aaa在线| 欧美精品日韩一区| 成人黄色免费短视频| 精品国产露脸精彩对白| 午夜国产欧美理论在线播放| 国产精品三级av| 99在线观看免费视频精品观看| 亚洲精品中文字幕在线观看| 国产一区导航| 三级一区在线视频先锋 | 成人高清免费观看| 国产婷婷色一区二区三区四区| av高清久久久| 国产精品天天摸av网| 亚洲黄网站黄| 亚欧色一区w666天堂| 久久久福利视频| 久久se精品一区二区| 国产亚洲一区二区三区在线观看| 99久久er热在这里只有精品15 | 69堂成人精品免费视频| 成人av免费网站| 国产欧美一区二区三区沐欲 | 亚洲欧美综合色| 亚洲免费网址| 久久99精品国产| 精品福利视频一区二区三区| 欧美日韩三级电影在线| 亚洲综合免费观看高清完整版在线 | 成人黄色免费短视频| 2024国产精品| 免费在线一区二区| 国产精品一区二区三区四区| 国产亚洲成aⅴ人片在线观看| 国产精品久久久一区二区| 久久精工是国产品牌吗| 亚洲精品一区二区三区影院 | 国产女主播一区| 国产一区二区三区奇米久涩| 男女激情视频一区| 久久综合久久综合久久综合| 雨宫琴音一区二区在线| 日韩不卡一二三区| 亚洲男女自偷自拍| 国产精品一区二区免费不卡| 亚洲欧美日韩久久精品| 欧美日韩在线播放| 欧美成人首页| 三级欧美在线一区| 26uuu欧美| 国产精品日本| 日韩精品一区二区三区蜜臀| 91福利小视频| 国产精品美女久久久| 在线看片一区| 日本道免费精品一区二区三区| 蜜芽一区二区三区| 欧美在线免费| 日韩一级大片在线观看| 国产精品国产三级国产普通话99| 在线综合视频播放| 中文字幕va一区二区三区| 日本不卡在线视频| 岛国精品在线播放| 成人免费高清在线| 大陆成人av片| 免费亚洲电影| 亚洲欧美aⅴ...| 精品一区二区三区蜜桃| 蜜臀av性久久久久av蜜臀妖精| 国产经典欧美精品| 激情偷拍久久| 国产精品网曝门| 久久99久久99精品免视看婷婷| av在线综合网| 色激情天天射综合网| 欧美日本高清视频在线观看| 成人午夜伦理影院| 一本一本久久a久久精品综合妖精| **欧美大码日韩| 久久久久久久欧美精品| 91啪亚洲精品| 欧美aaa在线| 亚洲欧洲日产国产综合网| 日韩av中文字幕一区二区三区| 777xxx欧美| 国产日韩一区二区| 国产麻豆精品theporn| 中文字幕一区二区5566日韩| 欧美三级韩国三级日本三斤 | 欧美视频导航| 日日骚欧美日韩| 91精品国产综合久久精品app| 欧美不卡三区| 午夜av一区二区三区| 欧美久久婷婷综合色| 国内成+人亚洲| 久久日一线二线三线suv| 老色鬼久久亚洲一区二区| 高清久久久久久| 久久综合网络一区二区| 99热99精品| 久久精品久久久精品美女| 亚洲男人的天堂av| 精品国产百合女同互慰| 亚洲作爱视频| 国产精品一区免费在线观看| 亚洲精品va在线观看| 日韩免费一区二区三区在线播放| 色婷婷久久99综合精品jk白丝| 国产精品v亚洲精品v日韩精品 | 欧美日产一区二区三区在线观看| 免费人成在线不卡| 久久久91精品国产一区二区三区| 欧美三级三级三级爽爽爽| 国内精品福利| 欧美日韩视频在线一区二区观看视频 | 国产精品美女久久久久高潮| 在线电影院国产精品| 在线视频亚洲一区| 国产91清纯白嫩初高中在线观看| 亚洲不卡一区二区三区| ㊣最新国产の精品bt伙计久久| 日韩视频一区二区三区在线播放| 欧洲精品在线观看| 一本色道久久综合亚洲精品不| 99久久久精品| 成人午夜电影小说| 不卡的电影网站| 精品综合久久久久久8888| 麻豆精品久久久| 日韩在线一区二区三区| 秋霞电影一区二区| 麻豆精品一区二区av白丝在线| 亚洲成人高清在线| 日本免费新一区视频| 久久久噜噜噜久噜久久综合|