久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

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

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

Failed to process, please exclude the tableName or statementId.

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

但是我在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'時(shí),將添加dept.id = 30的判斷

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

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

20190718-補(bǔ)充記錄 :遇到另一個(gè)問題,如果dept這個(gè)表是聯(lián)查來的有可能會(huì)沒有數(shù)據(jù),在dept無數(shù)據(jù)的時(shí)候我們就無法給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上就會(huì)報(bào)錯(cuò) -_-||)

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

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

CASE WHEN *** THEN ***ELSE '' =>這樣也會(huì)報(bào)錯(cuò),需要改成=> 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)錯(cuò)。

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

相關(guān)文章:
主站蜘蛛池模板: 国产精品视频一区二区三区 | 天天艹久久 | www,四虎| 国产一区在线视频 | 亚洲欧美激情精品一区二区 | 自拍偷拍专区 | 一区二区福利 | 免费xxxxx在线观看网站软件 | 黄色天堂在线观看 | 99热在线观看免费 | 看亚洲a级一级毛片 | 中文字幕_第2页_高清免费在线 | 五月激情综合 | 国产精品久久免费视频 | 一区二区三区视频免费在线观看 | 日韩精品一区二区三区在线观看 | 久久久99久久| 天天插天天射天天干 | 欧美日韩精品一区二区三区 | 在线观看亚洲大片短视频 | 99影视| а天堂中文最新一区二区三区 | 中文字幕一区二区三区免费视频 | www.国产精品| 91中文在线观看 | 久久久国产视频 | 亚洲一区二区免费看 | 免费成人在线网站 | sese综合| 国产亚洲精品成人av久久ww | 日韩欧在线 | 国产亚洲欧美一区二区 | 麻豆久久久久久 | 男人的天堂一级片 | 羞羞视频网站免费看 | 久久精品欧美一区二区三区不卡 | 国产成人精品综合 | 日本午夜在线 | 亚洲美女精品视频 | 欧美日韩一区二区在线观看 | www.天天草|