这里没有听懂,能不能详细讲一下
<resultMap id="forUsers" type="com.damu.entity.Users">
<!-- 绑定id主键 -->
<id property="id" column="id"></id>
<!-- result配置,主要配置普通属性,column表示配置的是数据库字段名称 property配置的是实体类的属性名称 -->
<result column="username" property="name"></result>
<collection property="addresses" column="id" ofType="com.damu.entity.Address" select="getAddress"></collection>
</resultMap>
就是这里面新加的几个属性和标签不懂什么意思,怎样就实现了多表联查
正在回答 回答被采纳积分+1
同学你好,同学是指如下的这个吗?
这里是数据库中users表的id字段。在一对多的关系中,一个users的id字段对应多个地址。
另外同学可以在官网中查看更多的mybatis的使用:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html
祝:学习愉快~
同学,你好!我们使用resultMap进行自定义映射关系的配置,比如之前数据库表中的字段名和类的属性名不一致,就是使用resultMap进行配置的。
现在我们在查询users表的时候,同时要把address表中的数据也查询出来,而且查询出来的数据要映射到Users类的属性address中,而address是List<Adress>集合类型的。集合里可以存放多个数据。
下面说一下<collection>,该标签用于解决一对多查询问题,property属性是指Users类中的list集合addresses,column对应Users中的id,ofType是指Collection存放的数据类型,这里是Address类型。select属性表示通过getAddress这个查询得到结果,存放到Collection中。这样通过Users中的id查询到id对应的多个Address信息,就是实现了一对多的查询了。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星