一、如何使用
当数据库返回的数据是null,那么使用resultType="java.lang.Integer"
当数据库返回的数据是0,既可以使用resultType="int" 也可以使用resultType="java.lang.Integer"
二、案例
工具:mybatis+pgsql
resultType="java.lang.Integer" 使用代码块
dao代码:
Integer selectMaxAgeBySex(String sex); 查询性别是女生的最大年龄
sql:
<select id = "selectMaxAgeBySex" resultType="java.lang.Integer">
select max(age) from user where sex = '女';
</select>
为什么要使用Integer?因为当我把s q l语句放到p g s q l数据库执行时,如果查不到数据,那么p g s q l返回nu l l。此时需要使用java.lang.Integer作为返回类型,不可以使用resultType="int",否则会报错。报错信息参考文章 mapper method attempted to return null from a method with a primitive return type (int)
resultType="int" 使用代码块
dao代码:
int count(); 查询用户的总量
sql:
<select id = "count" resultType="int">
select count(1) from user;
</select>
为什么可以使用int?因为当我把s q l语句放到p g s q l数据库执行时,如果查不到数据,那么p g s q l返回0。此时可以使用int作为返回类型,也可以使用java.lang.Integer作为返回值

本文探讨了在MyBatis中,当数据库返回数据可能为null或0时,选择`resultType="int"`和`resultType="java.lang.Integer"`的区别。在PostgreSQL环境下,如果查询结果为null,使用`Integer`避免了报错;而如果返回0,`int`和`Integer`都是可行的选择。通过具体DAO代码和SQL示例,展示了这两种情况的处理方式。
1643

被折叠的 条评论
为什么被折叠?



