MyBatis查询时,如果不是返回行中所有属性,仅返回部分属性,如果这部分属性值是null,那么MyBatis依旧会返回一个对象,只不过该对象为空。
比如新建一个对象User:
public class User {
private int uid;
private String uname;
private String usex;
}
数据库表格中数据为:表中第三个行数据仅有id,姓名和性别均为空
使用如下语句进行查询:仅返回姓名
<select id="getUserList" resultType="com.qdc.pojo.User">
select uname from user
</select>
断点查看结果如下:
结果中list中存三个对象,对应数据库表中的三行数据,但是其中一个对象为空,因为数据库表中第三行数据的uname属性为空。
综上,使用MyBatis进行查询,如果仅返回某个属性,且这个属性值在数据库表中为空,那么会返回一个空对象!