Mybatis plus中使用in查詢出錯如何解決
不想看我bb的直接點上面的 ‘'解決方法‘'
我的情況是這樣的,在使用mybatis plus提供的QueryWrapper方法里的in查詢時,我的參數(shù)為類似“1,2,3,4”這樣的字符串
//要查的參數(shù)
String masterIds = "81554,5654,55948,48945";
QueryWrapper<FpjyPauperInfo> pauperqw = new QueryWrapper<>();
pauperqw.in("user_id",masterIds);
UserInfoService.list(pauperqw);
結(jié)果返回的數(shù)據(jù)與在數(shù)據(jù)庫查出來的數(shù)據(jù)不一樣(這是我的情況,不知道你們會不會這樣),我看了控制臺的sql代碼
==> Preparing:SELECT user_id,user_name,update_job_dt,group_name,create_dt,create_by, update_dt,update_by FROM fpjy_pauper_info WHERE (user_id IN (?)) ==> Parameters: 81554,5654,55948,48945(String) <== Total: 0
查詢錯誤原因
我就在網(wǎng)上早了一下發(fā)現(xiàn),在使用mybatis plus提供的QueryWrapper方法時,你給它的參數(shù)是String類型時,在控制臺上看著是對的,但是他會默認(rèn)在參數(shù)的前面和后面加上單引號,因為在mybatis plus里
的xml配置文件里(類似于UserInfoMapper.xml的文件),給的參數(shù)是用 #{參數(shù)名} 的方式
//這段代碼只是舉個例子
SELECT * FROM userinfo WHERE (user_id IN (#{ids}))
解決方法
這只是我這種情況的解決方法哦
找到你要使用的對象的xml文件(類似于UserInfoMapper.xml的文件)在里面自定義sql語句代碼,給參數(shù)要用 ${參數(shù)名} 的方式,不會自定義sql語句可以去網(wǎng)上查查,網(wǎng)上有太多了,在這里我就不寫了。
//這段代碼只是舉個例子
SELECT * FROM userinfo WHERE (user_id IN (${ids}))
控制臺sql語句輸出結(jié)果
==> Preparing:SELECT * FROM fpjy_pauper_info WHERE (user_id IN (81554,5654,55948,48945))
==> Parameters:
<== Total: 4
總結(jié)
到此這篇關(guān)于Mybatis plus中使用in查詢出錯如何解決的文章就介紹到這了,更多相關(guān)Mybatis plus使用in查詢出錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實現(xiàn)字符串轉(zhuǎn)為駝峰格式的方法詳解
這篇文章主要介紹了如何利用Java語言實現(xiàn)字符串轉(zhuǎn)為駝峰格式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-07-07
Java初學(xué)者問題圖解(動力節(jié)點Java學(xué)院整理)
本文通過圖文并茂的形式給大家介紹了java初學(xué)者問題,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-04-04
SpringBoot DevTools之開發(fā)工具與熱部署機(jī)制詳解
本文將深入探討Spring Boot DevTools的核心功能、配置方法以及最佳實踐,幫助開發(fā)者顯著提升開發(fā)效率,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
使用ShardingJDBC進(jìn)行數(shù)據(jù)分片以及讀寫分離
ShardingJDBC是一個輕量級的Java框架,提供了數(shù)據(jù)分片、讀寫分離、分布式主鍵生成等數(shù)據(jù)訪問功能,本文將給大家介紹如何使用ShardingJDBC進(jìn)行數(shù)據(jù)分片以及讀寫分離,需要的朋友可以參考下2024-01-01
idea運行java項目main方法報build failure錯誤的解決方法
當(dāng)在使用 IntelliJ IDEA 運行 Java 項目的 main 方法時遇到 "Build Failure" 錯誤,這通常意味著在項目的構(gòu)建過程中遇到了問題,以下是一些詳細(xì)的解決步驟,以及一個簡單的代碼示例,用于展示如何確保 Java 程序可以成功構(gòu)建和運行,需要的朋友可以參考下2024-09-09

