这里没有听懂,能不能详细讲一下

这里没有听懂,能不能详细讲一下

<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

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕阿满 2019-08-04 17:19:17

同学你好,同学是指如下的这个吗?

http://img1.sycdn.imooc.com//climg/5d46a2a80001641b07830126.jpg

这里是数据库中users表的id字段。在一对多的关系中,一个users的id字段对应多个地址。

另外同学可以在官网中查看更多的mybatis的使用:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html

祝:学习愉快~

好帮手慕阿满 2019-08-04 11:09:27

同学你好,<id property="id" column="id">这是id的标签,表示主键,property是实体类的主键,column是数据库的主键,所以绑定了数据库和实体类的主键。property指向实体类,column指向数据库。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 qq_慕设计1529493 #1
    那既然他俩并不指向一个地方,为什么上一个老师说collection中他俩都指向users类中呢,还有xml中这些标签视频里的老师也不介绍上来就直接用,有没有介绍这些内容的东西,我想再了解了解
    2019-08-04 12:43:41
好帮手慕珊 2019-08-03 14:42:35

同学,你好!我们使用resultMap进行自定义映射关系的配置,比如之前数据库表中的字段名和类的属性名不一致,就是使用resultMap进行配置的。

现在我们在查询users表的时候,同时要把address表中的数据也查询出来,而且查询出来的数据要映射到Users类的属性address中,而address是List<Adress>集合类型的。集合里可以存放多个数据。

http://img1.sycdn.imooc.com//climg/5d4529390001a51b08030075.jpg

下面说一下<collection>,该标签用于解决一对多查询问题,property属性是指Users类中的list集合addresses,column对应Users中的id,ofType是指Collection存放的数据类型,这里是Address类型。select属性表示通过getAddress这个查询得到结果,存放到Collection中。这样通过Users中的id查询到id对应的多个Address信息,就是实现了一对多的查询了。

http://img1.sycdn.imooc.com//climg/5d452c44000138a614590385.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 qq_慕设计1529493 #1
    <id property="id" column="id"></id>老师那这句是怎样就绑定了主键了。 还有个问题,property,和column这两个属性在result标签里不是一个指向数据库,一个指向实体类嘛,这里为什么两个都是指向实体类中的属性了
    2019-08-03 19:03:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师