成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_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国内精品久久久久久久
国产999精品久久久久久| 亚洲精选一区| 一二三四社区欧美黄| 亚洲美女淫视频| 午夜视黄欧洲亚洲| 九九在线精品视频| 国产经典欧美精品| 99久久精品情趣| 亚洲精品欧美精品| 一本色道**综合亚洲精品蜜桃冫| 亚洲一区二区三区精品动漫| 一本色道久久精品| 欧美三级电影网| 精品国产1区2区3区| 中文字幕欧美激情一区| 亚洲最大成人网4388xx| 麻豆久久久久久| 99精品偷自拍| 亚洲欧美视频| 日韩三级精品电影久久久 | 国产精品系列在线播放| 99精品热视频| 一区二区黄色| 精品国产精品一区二区夜夜嗨| 亚洲特黄一级片| 日本欧美久久久久免费播放网| 国产精品一区久久久久| 欧美在线高清| 午夜亚洲性色视频| 欧美一级黄色片| 日韩欧美中文字幕精品| 亚洲欧美日韩在线播放| 国产自产2019最新不卡| 极品日韩av| 91精品国产综合久久久久久漫画 | 欧美成人高清电影在线| 国产精品不卡一区| 免费观看在线色综合| 91亚洲精品久久久蜜桃网站| 亚洲一区日韩在线| 精品久久久久久久久久久久久久久| 亚洲同性同志一二三专区| 国内外成人在线视频| 伊人久久久大香线蕉综合直播 | 91福利视频在线| 国产欧美va欧美不卡在线| 蜜桃视频在线一区| 欧美日韩日本网| 欧美性欧美巨大黑白大战| 亚洲国产精品激情在线观看| 久久国产视频网| 在线播放豆国产99亚洲| 日韩一区二区三区电影在线观看 | 日韩一区二区三免费高清| 亚洲欧美日韩成人高清在线一区| 激情五月激情综合网| 99精品免费视频| 精品国产免费一区二区三区香蕉| 婷婷中文字幕一区三区| 欧美日韩免费精品| 欧美一区日本一区韩国一区| 亚洲综合色丁香婷婷六月图片| 99精品国产热久久91蜜凸| 在线精品亚洲一区二区不卡| 国产精品人妖ts系列视频| 国产精品一区二区三区99| 国产欧美一区二区色老头| 久久久精品国产免大香伊| 国产综合久久久久久鬼色| 欧美一级二区| 亚洲日本在线看| 91在线一区二区| 777亚洲妇女| 免费成人在线网站| 国产三级精品在线不卡| 中文字幕国产一区| www.亚洲精品| 91精品国产黑色紧身裤美女| 天堂精品中文字幕在线| 亚洲黄色一区二区三区| 中文av字幕一区| 成人午夜av电影| 91麻豆精品91久久久久久清纯| 日韩av电影免费观看高清完整版 | www.亚洲激情.com| 精品视频1区2区| 午夜亚洲国产au精品一区二区| 黑丝一区二区三区| 久久综合九色综合97_久久久| 精品无人区卡一卡二卡三乱码免费卡| 亚洲在线播放电影| 亚洲免费在线看| 很黄很黄激情成人| 久久久777精品电影网影网| 成人免费福利片| 欧美一级二级三级乱码| 麻豆精品新av中文字幕| 色天天综合久久久久综合片| 一区二区三区中文字幕电影| 黑人一区二区| 亚洲日本青草视频在线怡红院| 国内不卡一区二区三区| 国产欧美日韩在线| 欧美1区2区视频| 亚洲国产激情av| 欧美日韩喷水| 国产精品成人在线观看| 在线观看一区| 亚洲国产精品久久久久秋霞影院| 麻豆91精品| 久久www免费人成看片高清| 在线观看区一区二| 欧美日韩在线播放三区四区| 一道本成人在线| 日韩欧美一卡二卡| 在线视频观看日韩| 成人午夜免费视频| 亚洲二区视频在线| 亚洲国产成人午夜在线一区| 欧美日韩国产成人在线91| 99精品视频免费观看| 成人少妇影院yyyy| 日韩电影在线一区二区三区| 国产精品免费视频网站| 日韩午夜中文字幕| 久久久水蜜桃av免费网站| 欧美日韩1区| 国产盗摄视频一区二区三区| 亚洲制服欧美中文字幕中文字幕| 久久久综合视频| 欧美日韩精品系列| 亚洲一区二区伦理| 国内精品**久久毛片app| 欧美电影在哪看比较好| 亚洲免费在线精品一区| 欧美日本亚洲| 极品少妇xxxx精品少妇偷拍| 日韩理论电影院| 一区二区三区在线视频观看58| 欧美大片拔萝卜| 欧美性猛交xxxxxxxx| 国产亚洲高清视频| 亚洲欧美综合| 亚洲女厕所小便bbb| 精品国产乱码久久久久久牛牛| 99久久精品免费| 日韩一区二区三区电影在线观看 | 视频在线观看91| 在线视频一区二区三| 天天做天天摸天天爽国产一区 | 国产一区二区在线观看免费| 欧美中文字幕一区二区三区亚洲| 国产福利一区二区三区视频在线 | 国产精品婷婷午夜在线观看| 欧美精品一区在线| 亚洲男人天堂一区| 久久影院亚洲| 国产一区二区调教| 欧美精品 日韩| 成人h精品动漫一区二区三区| 久久亚洲精精品中文字幕早川悠里| 精品白丝av| 亚洲大尺度视频在线观看| 欧美自拍丝袜亚洲| 成人激情动漫在线观看| 欧美韩国一区二区| 免费看亚洲片| 国产乱码精品一品二品| 国产日本欧美一区二区| 国产精品一区二区三区四区五区 | 香蕉精品999视频一区二区| 日韩国产欧美一区二区三区| 欧美日本在线视频| 欧美在线播放| 亚洲一区二区精品久久av| 欧美亚洲动漫精品| 99re66热这里只有精品3直播| 久久久精品影视| 欧美最新大片在线看| 92精品国产成人观看免费| 一区二区国产盗摄色噜噜| 欧美偷拍一区二区| 91老师片黄在线观看| 婷婷成人激情在线网| 日韩三级精品电影久久久| 欧美99久久| 香蕉久久一区二区不卡无毒影院| 91精品综合久久久久久| av在线一区二区三区| 日日摸夜夜添夜夜添国产精品| 日韩一级二级三级精品视频| 1024成人| 国产丶欧美丶日本不卡视频| 亚洲视频在线一区二区| 日韩欧美在线一区二区三区| 亚洲黄色影院| 国模少妇一区二区三区| 中文字幕一区免费在线观看| 国产99精品在线观看| 亚洲精品乱码久久久久|