请问java高手,mybatis的父子关系是如何映射的?

比如:有个
class Person{
private id;
private name ;
private Person parent;
Set<Person> children =new HashSet<Person>();
}
表结构:person(int id,varchar name ,int parent_id )

请问mapper如何映射啊,要求根据person的id可以将它的基本属性和parent、children查出,并且children里面的pratent不为空,parent里面的children不为空?感激不尽了

mybatis有两种关联映射方式,一种是结果集映射,一种是子查询映射。

子查询映射
<!-- 一对一映射,upersign便是getBySingleSign方法的入参 -->
<association property="parentmenu" column="upersign" select="sys.mapper.FuncMapper.getBySingleSign"/>
<!-- 一对多映射 -->
<collection property="menus" ofType="java.util.List" select="sys.mapper.RoleMapper.searchMenu" column="SR_FUNCURL"/>

结果集映射
<!-- 一对一映射,property="roleDTO"是对象中的属性为"roleDTO", javaType="roleDTO"是对象的别名叫"roleDTO"与前面同名的没有任何关系,resultMap="roleDTOMap.roleResultMap"是对象RoleDTO的结果集映射规则
-->
<association property="roleDTO" column="sr_id" javaType="roleDTO" resultMap="roleDTOMap.roleResultMap" />追问

一对一映射也可以用association 吗?

追答

是的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-17
要手动映射,自己写SQL