【发布时间】:2015-05-19 07:30:52
【问题描述】:
我正在开发一个带有 JavaFX 和 PostgreSQL 数据库的小工具。我现在的任务是处理一个 32 位数字。我用 Long 试过了,但它太短/太小了。
我记得 Postgres 抱怨是因为我没有使用正确的数据类型,这就是为什么我先在这里询问,然后再更改受此问题影响的所有行。
我不会用这个数字进行数学运算,但我需要在其中保存 null。
你有什么建议?字符串,大整数?
代码示例:
//...
myObject.setSerialNumber(getLongFromDB(rs, "serialnumber"));
//...
private static Long getLongFromDB(ResultSet rs, String column) throws SQLException {
Long l = rs.getLong(column);
if (rs.wasNull()) l = null; // because getLong is long not Long, I need to know about null
return l;
}
【问题讨论】:
-
这真的是一个数字还是只包含数字的字符串?
-
在数据库中它是一个“数字(32)”。
-
你的方法
setSerialNumber的参数是什么?是long吗?或者它是其他类型的,所以你要存储null? -
它是 setObject(Long l)。
标签: java postgresql long-integer numeric