空数据库列在结果集上变为零

Cle*_*iro 2 java oracle jdbc

我不能向你展示我的数据库结构......但我可以尝试做一个例子:

Table Car_Manufacturer 
(
  car_id NUMBER;
  manuFacturer_id NUMBER;
)
Run Code Online (Sandbox Code Playgroud)

价值观:

|TABLE CAR_MANUFACTURER   |
| CAR_ID |MANUFACTURER_ID |
|    1   |     1284       |
|    2   |    (null)      |
Run Code Online (Sandbox Code Playgroud)

选择我的 resultSet 接收:

select * from CAR_MANUFACTURER where car_id = 2
Run Code Online (Sandbox Code Playgroud)

我可以得到 CAR_ID:

int id = rs.get("car_id");
Run Code Online (Sandbox Code Playgroud)

id 值的输出:

2
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试获取 MANUFACTURER_ID 时,空值变为整数:

Integer manId = rs.get("manufacturer_id");
Run Code Online (Sandbox Code Playgroud)

输出 manId

0
Run Code Online (Sandbox Code Playgroud)

任何的想法?我需要获得 NULL 值...不是整数值。

ern*_*t_k 5

在此处检查接受的答案:How do I in JDBC read a possible null double value from resultSet? .

它为您提供了一种了解读取的值是否为空并在调用 rs.getXXX 时默认为某个值的方法。