【问题标题】:mybatis - nulls are removed in HashMap<String, Object> resultmybatis - 在 HashMap<String, Object> 结果中删除空值
【发布时间】:2016-11-17 06:35:44
【问题描述】:

我有类似的东西:
@Select("select * from table;") List&lt;Hashmap&lt;String, Object&gt;&gt; getAll()
但是,从此地图中删除了具有空值的列。
如何禁用此删除并允许空值?

【问题讨论】:

  • Question asked and answered。空列没有被删除,它们只是没有设置。解决方案是将 callSettersOnNulls 设置为 true,或者使用 type handler,或者将结果获取到自定义类型而不是 map。
  • " 解决方案正在设置 callSettersOnNulls " 怎么办?
  • Mybatis主配置文件中:&lt;settings&gt;&lt;setting name="callSettersOnNulls" value="true" /&gt;&lt;/settings&gt;。但请花时间阅读该主题,因为这是一个全局设置,可能会产生副作用。
  • BaseTypeHandler 覆盖默认的 JDBC NULL 值处理; null Integer 列将映射到 null java 而不是 0:if (rs.wasNull()) { return null; } else { return result; }
  • 这个设置进入主配置文件(你在所有东西中定义数据源的那个),而不是映射器。一条链接? google.com , stackoverflow.com 我只是建议您阅读其他用户遇到的问题,因为这是一个全局设置。

标签: java mybatis


【解决方案1】:

你有一个 Hashmaps 列表,也许你只能通过使用 HashMap 来更好地尝试它。在其他地方,您可以尝试不使用@Select 命令手动从数据库中读取值。

【讨论】:

    猜你喜欢
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 2016-03-10
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    相关资源
    最近更新 更多