在使用Map接收sql语句传过来的数据值时,若出现值为null的字段,会自动隐藏该列,如果需要该字段则需要设置callSettersOnNulls为true。在网上出现最多的是在application.properties中添加
mybatis.configuration.call-setters-on-nulls=true
但是在使用之后发现该设置并未生效,最终找到一个解决办法,在数据库配置类中添加
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(masterDataSource);
org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
configuration.setCallSettersOnNulls(true);
sessionFactory.setConfiguration(configuration);
问题就解决了,可以得到值为null的数据了
本文详细介绍了在MyBatis框架中如何正确处理SQL查询返回的null值,特别是在使用Map接收数据时。通过在数据库配置类中设置configuration.setCallSettersOnNulls(true),可以确保即使字段值为null也能被正常读取。
4万+

被折叠的 条评论
为什么被折叠?



