Mybatis對MySQL if 函數(shù)的不支持問題解讀
Mybatis對MySQL if 函數(shù)的不支持
問題描述
接手之前同事寫的一個項目之前運(yùn)行的沒有什么問題,后面為了使用多租戶的功能于是就引用了Mybatis-plus結(jié)果發(fā)現(xiàn)之前的sql語句執(zhí)行報錯
SELECT
DISTINCT t.*,if(a.id is null,1,0) flag
FROM
** t
left join *** a on a.*= t.*
where 1=1報錯內(nèi)容:
Cause: com.baomidou.mybatisplus.exceptions.MybatisPlusException: Failed to process, please exclude the tableName or statementId.
經(jīng)過查詢網(wǎng)上搜索資料找到原因
是因為Mybatis對MySQL的if函數(shù)不支持導(dǎo)致的。
解決方案
修改之前的SQl語句 使用case代替
SELECT
DISTINCT t.*,CASE WHEN a.id is NULL THEN '1' ELSE '0' END as flag
FROM
** t
left join *** a on a.*= t.*
where 1=1總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合sharding-jdbc實現(xiàn)分庫分表與讀寫分離的示例
本文主要介紹了SpringBoot整合sharding-jdbc實現(xiàn)分庫分表與讀寫分離的示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
Java Listener監(jiān)聽器使用規(guī)范詳細(xì)介紹
監(jiān)聽器是一個專門用于對其他對象身上發(fā)生的事件或狀態(tài)改變進(jìn)行監(jiān)聽和相應(yīng)處理的對象,當(dāng)被監(jiān)視的對象發(fā)生情況時,立即采取相應(yīng)的行動。監(jiān)聽器其實就是一個實現(xiàn)特定接口的普通java程序,這個程序?qū)iT用于監(jiān)聽另一個java對象的方法調(diào)用或?qū)傩愿淖?/div> 2023-01-01
Elasticsearch8.1中的Script使用實例深入解讀
這篇文章主要為大家介紹了Elasticsearch8.1中的Script使用實例深入解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
SpringBoot靜態(tài)資源css,js,img配置方案
這篇文章主要介紹了SpringBoot靜態(tài)資源css,js,img配置方案,下文給大家分享了三種解決方案,需要的朋友可以參考下2017-07-07
Spring Boot 2.5.0 重新設(shè)計的spring.sql.init 配置有啥用
前幾天Spring Boot 2.5.0發(fā)布了,其中提到了關(guān)于Datasource初始化機(jī)制的調(diào)整,有讀者私信想了解這方面做了什么調(diào)整。那么今天就要詳細(xì)說說這個重新設(shè)計的配置內(nèi)容,并結(jié)合實際情況說說我的理解和實踐建議2021-05-05
Java中將String類型轉(zhuǎn)換為int類型的幾種常見方法
在java中經(jīng)常會遇到需要對數(shù)據(jù)進(jìn)行類型轉(zhuǎn)換的場景,這篇文章主要給大家介紹了關(guān)于Java中將String類型轉(zhuǎn)換為int類型的幾種常見方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
Spring Security自定義異常 AccessDeniedHandler不生效解決方法
本文主要介紹了Spring Security自定義異常 AccessDeniedHandler不生效解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07最新評論

