else if mybatis 嵌套_mybatis踩坑之——foreach循环嵌套if判断
生活随笔
收集整理的這篇文章主要介紹了
else if mybatis 嵌套_mybatis踩坑之——foreach循环嵌套if判断
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作為小猿一枚,記錄一下工作中踩過的坑。
今天在修改別人的代碼bug時,有一個需求是在做導出excel功能時,mybatis動態構建sql語句的時候,要根據傳進來的map中的一個值來判斷是不是null,從而需要關聯另一張表取得數據。
SELECT
${col}.dic_value as ${col}
${col}
FROM
${tableName} t
left join t_admin_dic_values ${colList[index]} ON t.${colList[index]}=${colList[index]}.id
WHERE
t.id IN
#{item}
可以看到SELECT后的循環體是colList,由于我傳進來的是一個Map,這里的optionList[index]用的是colList循環的角標,但是我一度忘記了optionList存的是String,所以我之前的判斷optionList[index] != null" 一直報錯,要加上'null'。
xml文件 $ 和 # 的區別
1.${}在預編的時候會直接被變量替換,但是存在被注入的問題,表名必須用${},因為#{}在預編的時候會被解析為?占位符,但當被變量替換的時候會加上 ‘’單引號,表明不允許加單引號(但是反引號``是可以的)
總結
以上是生活随笔為你收集整理的else if mybatis 嵌套_mybatis踩坑之——foreach循环嵌套if判断的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大朗机器人餐厅在哪里_东莞餐厅惊现机器人
- 下一篇: mysql show full proc