最近一直把collection和association弄混,所以为了增强自己的记忆,就撸一个关系出来算是总结罢了
1. 关联-association
2. 集合-collection
比如同时有User.java和Card.java两个类
User.java如下:
public class User{
private Card card_one;
private List<Card> card_many;
}
在映射card_one属性时用association标签, 映射card_many时用collection标签.
所以association是用于一对一和多对一,而collection是用于一对多的关系
下面就用一些例子解释下吧
association-一对一
人和身份证的关系
下面是pojo
1
2
3
4
5
|
public
class
Card
implements
Serializable
{
private
Integer
id
;
private
String
code
;
//省略set和get方法.
}
|
1
2
3
4
5
6
7
8
9
|
public
class
Person
implements
Serializable
{
private
Integer
id
;
private
String
name
;
private
String
sex
;
private
Integer
age
;
//人和身份证是一对一的关系
private
Card
card
;
//省略set/get方法.
}
|
下面是mapper和实现的接口
1
2
3
4
5
6
7
|
package
com
.
glj
.
mapper
;
import
com
.
glj
.
poji
.
Card
;
public
interface
CardMapper
{
Card
selectCardById
(
Integer
id
)
;
}
|
1
2
3
4
5
6
7
8
9
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
!
DOCTYPE
mapper
PUBLIC
"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"
>
<
mapper
namespace
=
"com.glj.mapper.CardMapper"
>
<
select
id
=
"selectCardById"
parameterType
=
"int"
resultType
=
"com.glj.poji.Card"
>
|