首页 > 解决方案 > 如果从数据库中获取空值,如何设置 NULL?我收到 500 个内部服务器错误

问题描述

如果我从数据库中获取 Empty 值,我想将该值设置为 null。

注意:我得到了空白,所以使用了该trimToEmpty()方法。

当前邮递员节目->部门:''

resultset.setDepartment(StringUtils.trimToEmpty(rs.getString("Department")));

变成 :

resultset.setDepartment(StringUtils.trimToEmpty(rs.getString("Department")).isEmpty() ? null : StringUtils.trimToEmpty(rs.getString("Department")));

获取错误:“消息”:“内部服务器错误”

标签: javanullresultsetis-emptyisnull

解决方案


您报告了 Java 和数据库访问 - 所以我假设您在 JDBC 或 Datasource 的某个地方。您向数据库发送查询,结果可能包含您希望将其视为空值的空值。

好吧,数据库区分未知(NULL)数据和已知的空数据。因此,要么您必须对数据库添加限制(例如,将列更改为不可为空)。在您的代码中处理这些值可能会更顺畅 - 但请注意在所有代码中始终如一地执行此操作。中央访问器方法可以使这项任务更容易。

以下是使用String::isBlank()的代码示例:

String value = ...
if (value != null && value.isBlank()) {
    value = null;
}
resultset.setDepartment(value);

但是我不确定最后一行是否会按预期工作。我只是使它类似于您之前发布的代码。


推荐阅读