![smiley_0.png](https://res.wx.qq.com/mpres/htmledition/images/icon/common/emotion_panel/smiley/smiley_0.png)
为什么我传的是空字符串,但是用Mybatis的if标签判断该
空字符串 == 0
竟然是成立的
我写了个最简单的demo来进行测试,输出结果如下:
![640](https://img-blog.csdnimg.cn/img_convert/a66cad82f25470ba4e52b3198e0a68a3.png)
首先他会获取两个判断对象的类型,当拿一个字符串和一个数字判断的时候,因为类型不一样嘛,当mybatis发现,这个字符串是可以转换成数字的,那么就会把这个字符串转成数字,然后再和这个数字判断。那么问题就来了,这个空字符串会转换成什么数字呢?
从源码的这个
1return s.length() == 0 ? 0.0D : Double.parseDouble(s);
就可以看出,这个空字符串,是会被转成0的。最终通过这个找到了解决方案,可见学会分析源码的重要性。
为了帮助大家学会分析源码,在借(复)鉴(制)别人的代码出现问题的时候,快速分析出问题所在,我们特邀前一线互联网资深架构师lison老师,为大家带来这堂《MyBatis从青铜到王者之路》,从一段快速入门代码开始,解析MyBatis源码,从浅到深的剖析MyBatis的骨架和运行流程,不但能学习到大牛编写代码的经验和技巧,更能领略到面向对象设计原则和设计模式在源码中的运用。
公众号粉丝专享优惠29.9元
(按时学习之后还可以赚钱哦)
![640](https://img-blog.csdnimg.cn/img_convert/1279ca970657dde1caf858c3aec60560.gif)
10.29-10.31晚上8点准时直播
▼
10月29日 20:00-22:00
MyBatis快速入门
为什么不用JDBC?
怎么下载源码包?
MyBatis架构分析
你不得不知的设计原则
日志模块需求分析
适配器模式
日志模块类分析
代理模式
怎么样优雅的植入日志能力?
10月30日 20:00-22:00
数据源模块需求分析
工厂模式与数据源类图分析
数据库连接池核心类解析
获取连接和释放链接的算法分析
缓存模块需求分析
使用继承实现需求的尴尬
装饰器模式分析
缓存模块关键类分析
阻塞式缓存装饰器详解
CacheKey缓存的唯一标识
10月31日 20:00-22:00
反射模块需求分析
反射核心类分析
反射核心类实操
MyBatis的核心运行流程
看源码的正确姿势
你将会掌握怎么下载源码、怎么修改源码;然后学习MyBatis的架构设计和功能模块的划分,课程对MyBatis日志模块、数据源模块、缓存模块以及反射模块进行了深入的分析,不但能学习到源码中你必须了解的关于并发编程、提升性能的编程技巧和经验,更为重要的是领略外观模式、适配器模式、工厂模式、代理模式、装饰器模式等经典设计模式在源码中的运用;通过学习本课程,可以让自己的开发水平提升一个档次!
立即发送暗号“666”添加小姐姐报名吧
限时优惠,先到先得
▲附赠Java架构进阶资料