MyBatis中关于resultType和resultMap的区别
展开全部
如果你搜索只是返回一个值,比如说String ,或者是int,那你直接用resultType就行了。
但是你如果是返回一个复杂的对象,就必须定义好这个对象的resultMap的result map。
举个例子吧,例子以ibatis为例:
你有个User 对象, 拥有两个字段id,name。
1.你要获取id为123的name
String name = (String) queryForObject("getUserNameByID", id);
<select id="getUserNameByID" resultType="java.lang.String">
Select name from User where id =#id#
</select>
2.你要获取整个User对象
User user = (User) queryForObject("getUserByID", id);
<resultMap class="包.User" id="User">
<result property="id" column="ID" />
<result property="name" column="NAME" />
</resultMap>
<select id="getUserByID" resultMap="User">
Select ID,NAME from User where id =#id#
</select>
但是你如果是返回一个复杂的对象,就必须定义好这个对象的resultMap的result map。
举个例子吧,例子以ibatis为例:
你有个User 对象, 拥有两个字段id,name。
1.你要获取id为123的name
String name = (String) queryForObject("getUserNameByID", id);
<select id="getUserNameByID" resultType="java.lang.String">
Select name from User where id =#id#
</select>
2.你要获取整个User对象
User user = (User) queryForObject("getUserByID", id);
<resultMap class="包.User" id="User">
<result property="id" column="ID" />
<result property="name" column="NAME" />
</resultMap>
<select id="getUserByID" resultMap="User">
Select ID,NAME from User where id =#id#
</select>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询