今天做了一件坑了自己的事情,为此浪费了好多时间。。。

   在mybatis的设置中,看到了这样的一行设置。出于程序员的好奇,去搜索了一下,这条设置是干什么的。

   <setting name="callSettersOnNulls" value="true"/>

   在网上众多大神的解答下,终于一知半解了。

   在一般查询中,如果用map接受查询结果时,会自动将查询结果为null的字段忽略,这样就造成取参数时报空指针异常的情况。

   如果设置了这条属性之后,mybatis就不会忽略这些字段,你依然能get到这些key,只不过value为null,这样也方便。

   那么坑来了,这种设置的情况下,会出现2种比较特殊的情况。

   1.如果整个查询的所有字段都没有值,就是查询到0条记录时,那么接受到的map是什么结果?

   答案是,我们会接收到一个所有key值都为null 的map 而不是一个为null的map。

   2.如果只查询一个字段,而用map接收,此时为null是什么结果?

   答案是,我们会接收到一个为null的map,跟上面情况正好相反。

最新文章

  1. split() 注意事项.
  2. POJ 2263 Heavy Cargo 多种解法
  3. [zz] pgpool-II load balancing from FAQ
  4. windwos server 2008下iis7各种操作
  5. SGU 191.Exhibition(模拟)
  6. NLP相关资源
  7. java--进步学习IO
  8. 转:webdriver驱动未在默认目录安装的firefox
  9. android中在java代码中设置Button按钮的背景颜色
  10. Go语言之三驾马车
  11. C#动态调用webService出现 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
  12. Ubuntu 18.04 启用 rc.local 设置开机启动
  13. MVC ScriptBundle自定义排序。
  14. selenium之frame
  15. PHP安全之Web攻击(转)
  16. 预览InputFile
  17. Wireshark过滤总结
  18. Python 利用 BeautifulSoup 爬取网站获取新闻流
  19. C++拾遗——重新开始
  20. 使用Adt自带的工具进行Android自己主动化測试(三)

热门文章

  1. 页面上AJAX调用数据
  2. vbox安装64位ubuntu
  3. upper_bound和lower_bound的用法
  4. hibernate课程 初探单表映射1-2 ORM定义
  5. 消除transition闪屏
  6. BZOJ3693: 圆桌会议(Hall定理 线段树)
  7. JavaScript初识(二)
  8. Browser Window
  9. FMCW 雷达原理(转)
  10. C#中 String和string的区别