如何使用 MyBatis 从 Oracle 读取 NUMBER 列的 "NULL" 值

How to Read "NULL" value for a NUMBER column from Oracle using MyBatis

我正在尝试从 table 的 NUMBER 列中读取 NULL 值和 0 值,但对于这两者,我得到的值为 0。

如何在需要时读取 NULL 值和 0。

Mapper.xml:

<select id="callGetDRHoldingsAdmin" parameterType="map" resultType="com.project.employee">
    SELECT 
        EMP_NUM AS empNum,
        EMP_SAL AS empSal,
        EMP_NAME AS empName
    FROM EMP_TABLE
</select>

员工 POJO

class Employee {
    private double empSal,
    private int empNum,
    private String empName
}  

EMP_TABLE:

EMP_NAME : VARCHAR2(30)
EMP_SAL  : NUMBER
EMP_NUM  : NUMBER

doubleint 是 java 中的基本类型。这些类型的变量 can't hold null.

使用对应的wrapper类型可以存储null:

class Employee {
    private Double empSal,
    private Integer empNum,
    private String empName
}