zoukankan      html  css  js  c++  java
  • 关于mybatis callSettersOnNulls 配置

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

       在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,跟上面情况正好相反。

    转载:https://www.cnblogs.com/Oliver-rebirth/p/mybatis_2018-3-24.html

  • 相关阅读:
    ERP SYSTEM 开发指南(一)简单模块开发
    机器学习--决策树
    机器学习---线性模型
    机器学习
    《IDA Pro 权威指南》学习
    内核漏洞利用技术
    word2vec、seq2seq
    Ring0级的探索
    ActiveX 控件的漏洞挖掘
    FTP的漏洞挖掘
  • 原文地址:https://www.cnblogs.com/fancy2041/p/12532997.html
Copyright © 2011-2022 走看看