从数据库处理空字符串的最佳实践(Java)

Dan*_*ski 5 java database swing

在我的数据库应用程序中,我有时必须处理null数据库中的字符串.在大多数情况下,这很好,但是当它以一种形式显示数据时,Swing组件 - JTextField例如 - 使用- 无法处理空字符串.(.setText(null)失败)

(编辑:我刚注意到它JTextField实际上接受了一个null字符串,但问题仍然存在于意外null值可能导致问题的所有其他情况.)

空值没有特殊含义,它们可以(必须)被视为空字符串.

处理这个问题的最佳做法是什么?不幸的是我无法更改数据库.

  • 如果null在调用之前检查每个值setText()
  • 为每次setText()调用添加try-catch处理程序?
  • 介绍一个过滤所有null字符串的静态方法?
  • null从数据库中读取后立即将所有值替换为空字符串?
  • ... [你的建议]

Mar*_*rko 6

如果您使用任何ORM工具或以某种方式将数据库字段映射到Java bean,您可以总是:

public void setFoo(String str) {
  this.foo = str != null ? str : "";
}

  • 将数据写回数据库时必须要小心,因为您将插入一个空字符串而不是NULL值! (3认同)