这个id限定有什么要求吗

来源:3-1 OneToMany对象关联查询

大圣归来²

2020-09-05 13:14:12

http://img.mukewang.com/climg/5f531e8f09066ccd06060322.jpg

写回答

2回答

好帮手慕小脸

2020-09-05

同学你好,理解是可以的

祝学习愉快~


0

大圣归来²

提问者

2020-09-05

我看了其他的问题描述,是否可以这样理解:

column对应的数据库表中的字段,property指向Classes对象中的属性名字。

比如数据库中student表的的字段是sid,Classes的属性是cid;

现在设定column=“sid”,property="cid",那么就是把student中sid列映射到Classes中cid,映射得到的cid当然是数组的形式保存下去。

设置填写<id  column=  ,property  =>column以及property 是为了好的识别已经在student表中设定的主键,方便遍历,如果下面这个中留空,什么都不填,那也是可以的,

<resultMap id="自己设定值" type="指向对应的类">
    
</resultMap>

保证student字段个数与指向对应的类属性个数一致就行,他两会自动匹配。

至于设置<id column="" property=""></id>只是为了更精确匹配,减少款存,提供软件性能。

回到我的问题:

<resultMap id="cl" type="com.mybatis.entity.Classes">
   <id column="id" property="id"></id>
   <collection property="list" select="stu.selectByclassno"
               column="classno"></collection>
</resultMap>

所有我的理解:通过SELECT  * FROM  classes查询得到的数据表
先前建表设定的主键是ID,依次遍历主键id,把得到的每一行每个字段的值,依次赋值到对象Classes的对应属性,但Classes对象的属性list比较特别,是个集合,需要通过其他表来查询到数据,进行插入,于是有了下面

<collection property="list" select="stu.selectByclassno"
               column="classno"></collection>

遍历得到的classno的值代入到stu.selectByclassno中通过classno查询到的信息存到集合list里面。

这样理解对吗?

0

0 学习 · 8016 问题

查看课程