这个id限定有什么要求吗
来源:3-1 OneToMany对象关联查询
大圣归来²
2020-09-05 13:14:12
2回答
好帮手慕小脸
2020-09-05
同学你好,理解是可以的
祝学习愉快~
大圣归来²
提问者
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里面。
这样理解对吗?
相似问题