我是靠谱客的博主 畅快导师,最近开发中收集的这篇文章主要介绍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判断的全部内容,希望文章能够帮你解决else if mybatis 嵌套_mybatis踩坑之——foreach循环嵌套if判断所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部