【发布时间】:2016-11-17 06:35:44
【问题描述】:
我有类似的东西:@Select("select * from table;")
List<Hashmap<String, Object>> getAll()
但是,从此地图中删除了具有空值的列。
如何禁用此删除并允许空值?
【问题讨论】:
-
Question asked and answered。空列没有被删除,它们只是没有设置。解决方案是将 callSettersOnNulls 设置为 true,或者使用 type handler,或者将结果获取到自定义类型而不是 map。
-
" 解决方案正在设置 callSettersOnNulls " 怎么办?
-
Mybatis主配置文件中:
<settings><setting name="callSettersOnNulls" value="true" /></settings>。但请花时间阅读该主题,因为这是一个全局设置,可能会产生副作用。 -
BaseTypeHandler 覆盖默认的 JDBC NULL 值处理; null Integer 列将映射到 null java 而不是 0:
if (rs.wasNull()) { return null; } else { return result; } -
这个设置进入主配置文件(你在所有东西中定义数据源的那个),而不是映射器。一条链接? google.com , stackoverflow.com 我只是建议您阅读其他用户遇到的问题,因为这是一个全局设置。