MyBatis returns 某些列为空,0

MyBatis returns some columns as null, 0

我正在使用 MyBatis 和 Spring Boot。我正在尝试使用此从数据库中提取数据:

    <select id="queryDeviceList" resultType="DeviceList">
        SELECT id, mac_address, is_active
        FROM ct_device_list dl
        where dl.is_active = 1
    </select>

我的 POJO 是

@Data
public class DeviceList {

    private int id;
    private String mac_address;
    private int is_active;
}

我的 DAO 是

    List <DeviceList> queryDeviceList();

我的 table CT_DEVICE_LIST 在 Oracle 数据库中

CREATE TABLE CT_DEVICE_LIST
 (
   ID NUMBER(10,0) NOT NULL
 , MAC_ADDRESS VARCHAR2(17) NOT NULL
 , IS_ACTIVE NUMBER(1) NOT NULL
 , CREATED_DATE DATE NOT NULL
 , CONSTRAINT CT_DEVICE_LIST_PK PRIMARY KEY
   (
     ID
   )
   ENABLE
 );

但是我得到的结果是:

id=1, mac_address=null, is_active = 0

但是我的 mac_address 有值并且 is_active 在数据库中不是 0。

请帮忙。谢谢。

如果你设置mybatis.configuration.map-underscore-to-camel-case=true,你应该使用

@Data
public class DeviceList {

    private Integer id;
    private String macAddress;
    private Integer isActive;
}

如果不想将默认值设置为 0,请记住不要使用原始类型 int