大家好,又见面了,我是你们的朋友全栈君。
在官方文档中对resultType做了如下介绍:从这条语句中返回的期望类型的类的完全限定名或别名。注意如果是集合情形,那应该是集合可以包含的类型,而不能是集合本身。使用 resultType 或 resultMap,但不能同时使用。
mybatis中resultType可选类型:
1,java的基础类型及其包装类int,double和java.lang.Integer,java.lang.Double等
2,实体类,自己定义的实体类
3,map类型,如果使用resultMap这里可以使用自定义map,本文只介绍resultType
4,集合,即返回的是一个List集合,其中该集合的类型可以为1,2,3中提到的类型
<mapper namespace="com.xx.xx.dao.UserMapper">
<!-- 返回值为int,resultType为int ,java.lang.Integer也可以-->
<select id="countUser" resultType="int">
select count(*) from user
</select>
</mapper>
Dao层的返回类型为User,这里演示的时实体类和数据库字段一致的情况,如果不一致需要使用resulMap自定义map,也可以直接使用map,后面有介绍直接使用map的demo
<mapper namespace="com.xx.xx.dao.UserMapper">
<!-- 返回值为实体类,resultType为User-->
<select id="getUser" resultType="User">
select * from User where id=#{id}
</select>
</mapper>
Dao层的返回类型为Map<String, Object>key是对应的column值,value是数据中的数据
<mapper namespace="com.xx.xx.dao.UserMapper">
<!-- 返回值为Map<String,Object>,resultType为map-->
<select id="getUserSelective" resultType="map">
select name,address,salary from User where id=#{id}
</select>
</mapper>
Dao层的返回类型为List<User>,这里只展示了实体类集合,只要返回的值是多条数据都是集合,集合类型就是resultType中的值。
<mapper namespace="com.xx.xx.dao.UserMapper">
<!-- 返回值为List<User>,resultType为User-->
<select id="getUserList" resultType="User">
select * from user
</select>
</mapper>
List<Map<String,Object>> selectUserMapList();
<select id="selectUserMapList" resultType="java.util.HashMap">
select id,name from
user order by id desc limit 2
</select>
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/129251.html原文链接:https://javaforall.cn