mybatis if比较字符串相等问题
·
在mybatis中,使用<if test="flag=='1'">
flag为string类型传入,其值也是“1”,但是这个等式的返回结果是false
最后发现mybatis将'1'解析为char类型,所有不相等
可将<if test="flag=='1'">改为<if test='flag=="1"'>或者<if test="flag==1">
这个误区在使用mybatis好多年都没有发现,所以尽量不要使用单字符的String字符串来进行比较
mybatis是用OGNL表达式来解析的,在OGNL的表达式中,单引号里单个字符会被解析成char类型(多个字符是可以的),java是强类型的,char 和一个string 会导致不等
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)