mybatis choose when 不生效
时间: 2023-11-18 09:02:29 浏览: 166
在MyBatis中,choose标签通常用于条件判断,当满足某个条件时执行相应的语句。然而,根据引用的描述,当使用choose...when...otherwise语法时,when中的条件不起作用,不管条件是不是0,都会取otherwise中的结果。
这个现象可能是由于MyBatis是使用OGNL表达式来解析条件判断的。根据引用的分析,OGNL表达式中的'0'会被解析成字符,而Java是强类型的,char和一个string不相等,所以if、when等条件判断标签中的sql不会被解析。
因此,如果你在使用MyBatis的choose标签时发现when条件不生效,请检查一下是否有类似于'0'的字符导致条件判断失败。你可以尝试使用其他合适的条件来替代这种情况,或者考虑使用其他的条件判断方式来实现你的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [mybitis下choose..when. otherwise条件不起作用](https://blog.csdn.net/weixin_42186015/article/details/113425063)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [SSM框架的学习与应用JavaEE(第二天)Mybatis的深入学习](https://download.csdn.net/download/m0_53659738/88241458)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [【Mybatis中if、when标签判断不生效】](https://blog.csdn.net/qq_33402651/article/details/126303174)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文