av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

解決mybatis case when 報(bào)錯的問題

瀏覽:2日期:2023-10-20 08:40:01
在mybatis中使用case when進(jìn)行條件篩選判斷時遇到

Failed to process, please exclude the tableName or statementId.

這樣的報(bào)錯信息,報(bào)錯的信息是語法錯誤

但是我在mysql的命令行中運(yùn)行sql語句是沒問題的

//我的case when語句WHERE dept.type = 1AND (CASE agent.dept_typeWHEN 'agent' THEN dept.id=30END)//當(dāng)agent的dept_type為'agent'時,將添加dept.id = 30的判斷

這段sql語句在命令行內(nèi)運(yùn)行沒問題但是放到mybatis上執(zhí)行就會報(bào)錯

//修改后WHERE dept.type = 1AND dept.id=(CASE agent.dept_typeWHEN 'agent' THEN 30END)后來將dept.id放到外面就解決了這個問題

20190718-補(bǔ)充記錄 :遇到另一個問題,如果dept這個表是聯(lián)查來的有可能會沒有數(shù)據(jù),在dept無數(shù)據(jù)的時候我們就無法給dept.id賦上啥參數(shù)了,并且不可以影響原表數(shù)據(jù)的查詢,我改成了下面這樣:

//修改后WHERE dept.type = 1AND (dept.id=(CASE agent.dept_typeWHEN 'agent' THEN 30ELSE 0END) or dept.id is null)

添加dept.id為空的判斷即可

(在mysql語句里可以有很多方法解決,但是在mybatis上就會報(bào)錯 -_-||)

2019-7-30-補(bǔ)充說明:

如果是空字符串不可以使用''要改成單引號’’

CASE WHEN *** THEN ***ELSE '' =>這樣也會報(bào)錯,需要改成=> ELSE’’

補(bǔ)充:Mybatis case when test 注意事項(xiàng)

<choose> <when test='groupBy!=null and groupBy==1'>p_id areaId, </when> <when test='groupBy!=null and groupBy==2'>c_id areaId, </when> <when test='groupBy!=null and groupBy==3'>r_id areaId, </when> </choose>

test 中 用 == 不能用 = ,否則報(bào)錯。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 亚洲欧美日韩网站 | 日韩欧美一区二区三区免费观看 | 天天躁日日躁aaaa视频 | 国产欧美精品一区二区 | 国产精品一区一区 | 亚洲在线一区二区 | 精品久久香蕉国产线看观看亚洲 | 成人精品鲁一区一区二区 | 亚洲成人毛片 | 综合久久久久 | 一级欧美黄色片 | 欧洲视频一区二区 | 黄色片在线 | 日本精品一区二区在线观看 | 一级片av | 91大神在线资源观看无广告 | 亚洲福利在线观看 | 99爱在线视频 | 日韩一区在线观看视频 | 国产高清精品一区二区三区 | 欧美性tv | 国产精品美女久久久免费 | 欧洲尺码日本国产精品 | 黄片毛片免费看 | 91精品国产91久久久久久吃药 | 91中文字幕在线观看 | 国产精品一区二区不卡 | 狠狠色综合网站久久久久久久 | 欧美一级黄带 | 国产精品永久久久久 | 天天亚洲| 超碰男人天堂 | 中文字幕不卡 | 久久久久久久久毛片 | 日韩中文字幕在线视频 | 免费看国产一级特黄aaaa大片 | 欧美久久一区二区三区 | 免费看黄色视屏 | 日韩av一区二区在线观看 | 精品国产一区二区国模嫣然 | 天天操天天射综合网 |