关于mybatis callSettersOnNulls 配置解析
程序员文章站
2023-12-19 09:30:34
今天做了一件坑了自己的事情,为此浪费了好多时间。。。
在mybatis的设置中,看到了这样的一行设置。出于程序员的好奇,去搜索了一下,这条设置是干什么的。 ...
今天做了一件坑了自己的事情,为此浪费了好多时间。。。
在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,跟上面情况正好相反。
总结
以上所述是小编给大家介绍的关于mybatis callsettersonnulls 配置解析,希望对大家有所帮助
推荐阅读
-
关于mybatis callSettersOnNulls 配置解析
-
Mybatis中的config.xml配置文件详细解析
-
MyBatis启动之XMLConfigBuilder解析配置文件(二)
-
关于mybatis callSettersOnNulls 配置
-
mybatis plus源码解析(一) ---基于springboot配置加载和SqlSessionFactory的构造
-
MyBatis源码分析之——配置解析创建SqlSessionFactory的过程
-
MyBatis-SQLSessionFactory 配置文件解析
-
Mybatis配置文件之
别名配置元素解析 -
Mybatis配置之文件
元素解析 -
SSM框架学习之路-Mybatis(四)配置解析