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

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

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

瀏覽:303日期: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久久,三上悠亚国产精品一区二区三区
国产福利资源一区| 国产在线不卡| 国产高清亚洲| 色在线中文字幕| 日韩手机在线| 日韩免费视频| 日本黄色精品| 综合一区av| 欧美欧美黄在线二区| 在线视频观看日韩| 亚洲二区免费| 精品福利久久久| 蜜桃精品视频| 欧美在线精品一区| 男女男精品网站| 亚州av乱码久久精品蜜桃| 久久精品xxxxx| 婷婷成人基地| 91看片一区| 色爱综合网欧美| 91精品日本| 日韩欧美2区| 欧美精品国产| 日本欧洲一区二区| 香蕉久久夜色精品国产| 亚洲欧洲一区| 一本色道精品久久一区二区三区| 久久国产66| 成人综合一区| 欧洲一级精品| 日韩一区二区三区在线看| 国产精品综合| 91精品国产福利在线观看麻豆| 亚洲免费影院| 国产精品s色| 精品视频黄色| 亚洲网址在线观看| 亚洲精品**中文毛片| 性欧美videohd高精| 国产夫妻在线| 亚洲日本国产| 99成人在线视频| 日本午夜精品一区二区三区电影| 免费看av不卡| 国产日韩三级| 热久久国产精品| 999久久久国产精品| 麻豆精品视频在线观看| 野花国产精品入口| 日韩电影免费网站| 亚洲精品乱码日韩| 久久久成人网| 久久这里只有精品一区二区| 欧美精品一二| 国精品产品一区| 久久高清国产| 激情综合自拍| 欧美香蕉视频| 精品久久视频| 国产日韩一区二区三区在线| 亚洲欧美在线专区| 99精品在线免费在线观看| 欧美亚洲tv| 911精品国产| 亚洲色图国产| 视频在线在亚洲| 国产视频一区欧美| 中文字幕在线视频网站| 久久精品免费看| 国产精品大片| 麻豆91精品91久久久的内涵| 日韩中文字幕高清在线观看| av亚洲免费| 精品捆绑调教一区二区三区| 97精品国产| 国内自拍视频一区二区三区| 国产不卡av一区二区| 精品美女视频 | 91嫩草亚洲精品| 国产欧美一级| 激情久久一区二区| 国产传媒在线| 欧美日韩国产综合网| 每日更新成人在线视频| 宅男噜噜噜66国产日韩在线观看| 99在线|亚洲一区二区| 日韩在线网址| 精品网站aaa| 国产在线日韩| 久久黄色影视| 最近高清中文在线字幕在线观看1| 香蕉人人精品| 美女av在线免费看| 首页国产精品| 久久av在线| 精品欠久久久中文字幕加勒比| 国产传媒在线| 日韩激情视频网站| 欧美日韩国产v| 日韩毛片一区| 91精品啪在线观看国产18| 日韩三级一区| 91精品亚洲| 久久99精品久久久久久园产越南 | 精品一区二区三区免费看| 国产精品久久777777毛茸茸| 99久久久久久中文字幕一区| 日韩av网站在线免费观看| 日韩电影免费在线观看| 国产日韩一区二区三区在线| 天堂资源在线亚洲| 国产免费久久| 免费在线观看不卡| 亚洲国产福利| 国产日韩一区二区三免费高清| 日韩午夜精品| 99久久婷婷这里只有精品| 青青草伊人久久| 亚洲国产一区二区三区在线播放| 精品视频免费| 久久免费福利| 日韩av网站在线免费观看| 视频一区视频二区中文| 99久久99久久精品国产片果冰| 久久av免费看| 国产精品自在| 69堂免费精品视频在线播放| 亚洲精品乱码| 日本在线成人| 91福利精品在线观看| 国产欧美高清视频在线| 欧美国产亚洲精品| 日本一区二区三区视频在线看 | 国产99久久久国产精品成人免费| 日韩电影免费在线观看| 久久精品国产68国产精品亚洲| 久久婷婷av| 亚洲欧美日韩国产综合精品二区| 国产精品日本| 久久精品99久久久| 风间由美中文字幕在线看视频国产欧美| 欧美黑人做爰爽爽爽| 麻豆视频在线观看免费网站黄| 亚洲爱爱视频| 香蕉久久夜色精品国产| 丝瓜av网站精品一区二区 | 日韩激情一区二区| 国产精品免费99久久久| 国产欧美日韩| 久久精选视频| 精品日韩毛片| 免费一级片91| 日韩精品第二页| 日韩精品视频一区二区三区| 麻豆国产欧美一区二区三区| 美女视频一区在线观看| 国产精品久久久久久久免费观看| 国产在视频一区二区三区吞精| 日韩欧美久久| 国产一区日韩| 不卡在线一区| 免播放器亚洲一区| 国产欧美亚洲精品a| 欧美日韩激情| 日韩美女精品| 福利一区二区三区视频在线观看| 国产v综合v| 国产精品115| 色婷婷精品视频| 国产亚洲午夜| 国产精品久久久久久久久久妞妞| 婷婷亚洲五月色综合| 免费观看在线综合| 精品久久久网| 亚洲欧美日韩视频二区| 麻豆精品蜜桃| 香蕉成人久久| 国产精品17p| 日本91福利区| 国产精品精品国产一区二区| 国产女优一区| 麻豆国产精品视频| 69堂免费精品视频在线播放| 国产精品入口久久| 午夜国产精品视频免费体验区| 久久精品av麻豆的观看方式| 欧美日中文字幕| 国产精品综合| 精品久久久久中文字幕小说| 国产精品久久久久久久久免费高清| 蜜桃av.网站在线观看| 日韩高清一区二区| 亚洲高清影视| 一区三区视频| 9999国产精品| 欧美一区不卡| 日韩一二三区在线观看| 欧美视频一区| 亚洲精品国产精品粉嫩| 欧美在线亚洲综合一区|