您的位置:首页 > 其它

mybatis的resultType和resultMap基础用法

2017-08-24 16:45 459 查看
resultType和resultMap都是用于返回多行查询。二者不能一起用。区别在于后者能解决复杂查询时定的映射问题(比如有两个表相关联,此时就要用resultMap了)

在返回多行记录时,mybatis都会把它们自动封装成Map,但是resultType只得到了其中的“值”,而resultMap则得到了对应的“键值”。下面是简单的用法:

1、resultType

xml中:

//此处返回的是JikeUser,即返回了一个对象
<select id="loginJikeUserList" resultType="JikeUser">
select * from JikeUser
</select>


java测试类中

List<JikeUser> ap=sqlSession.selectList("loginJikeUserList");
for(JikeUser temp:ap){
System.out.println("用户名="+temp.getUserName());
}


2、resultMap

xml中

<!-- 先设定一个resultMap -->
<!--此处子节点中,property是JikeUser中的属性,column是数据库中的列名-->
<resultMap type="JikeUser" id="JikeUserMap">
<!--这个id子节点用来声明主键-->
<id property="id" column="id" />
<result property="userName" column="username" />
<result property="passW ord" column="password" />
</resultMap>
<!-- 然后引用已经设定好的resultMap -->
<select id="selectUsers" resultMap="JikeUserMap">
select id,username,password from JikeUser
</select>


java测试中

List<JikeUser> ap=sqlSession.selectList("selectUsers");
for(JikeUser temp:ap){
System.out.println("用户名="+temp.getUserName());
}


emmm关于resultMap的复杂映射以后再写吧QAQ
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis