mybatis 自身关联 映射
2014-09-01 10:15
281 查看
实体类
Java代码
![](http://lyl290932857.iteye.com/images/icon_star.png)
public class Module {
private int id;
private String key;
private String name;
private Module parentModule;
private List<Module> childrenModules;
private String url;
private int sort;
private String show;
private String del;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Module getParentModule() {
return parentModule;
}
public void setParentModule(Module parentModule) {
this.parentModule = parentModule;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
public String getShow() {
return show;
}
public void setShow(String show) {
this.show = show;
}
public String getDel() {
return del;
}
public void setDel(String del) {
this.del = del;
}
public List<Module> getChildrenModules() {
return childrenModules;
}
public void setChildrenModules(List<Module> childrenModules) {
this.childrenModules = childrenModules;
}
}
Xml代码
![](http://lyl290932857.iteye.com/images/icon_star.png)
<mapper namespace="com.sagaware.caraccess.mapper.ModuleMapper">
<resultMap type="Module" id="moduleResultMap">
<id property="id" column="module_id"/>
<result property="key" column="module_key"/>
<result property="name" column="module_name"/>
<result property="url" column="module_url"/>
<result property="sort" column="module_sort"/>
<result property="show" column="module_show"/>
<result property="del" column="module_del"/>
<!-- 查询父模块 -->
<association property="parentModule" column="module_parent_id" select="getModulesById" />
<!-- 查询子模块 -->
<collection property="childrenModules" column="module_id" select="getChildrenModues" />
</resultMap>
<select id="getModules" parameterType="String" resultMap="moduleResultMap">
select * from tb_module where module_id=2
</select>
<select id="getModulesById" parameterType="int" resultMap="moduleResultMap">
select * from tb_module where module_id = #{module_id}
</select>
<select id="getChildrenModues" parameterType="int" resultMap="moduleResultMap">
select * from tb_module where module_parent_id = #{module_id}
</select>
</mapper>
Java代码
![](http://lyl290932857.iteye.com/images/icon_star.png)
public class Module {
private int id;
private String key;
private String name;
private Module parentModule;
private List<Module> childrenModules;
private String url;
private int sort;
private String show;
private String del;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Module getParentModule() {
return parentModule;
}
public void setParentModule(Module parentModule) {
this.parentModule = parentModule;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
public String getShow() {
return show;
}
public void setShow(String show) {
this.show = show;
}
public String getDel() {
return del;
}
public void setDel(String del) {
this.del = del;
}
public List<Module> getChildrenModules() {
return childrenModules;
}
public void setChildrenModules(List<Module> childrenModules) {
this.childrenModules = childrenModules;
}
}
Xml代码
![](http://lyl290932857.iteye.com/images/icon_star.png)
<mapper namespace="com.sagaware.caraccess.mapper.ModuleMapper">
<resultMap type="Module" id="moduleResultMap">
<id property="id" column="module_id"/>
<result property="key" column="module_key"/>
<result property="name" column="module_name"/>
<result property="url" column="module_url"/>
<result property="sort" column="module_sort"/>
<result property="show" column="module_show"/>
<result property="del" column="module_del"/>
<!-- 查询父模块 -->
<association property="parentModule" column="module_parent_id" select="getModulesById" />
<!-- 查询子模块 -->
<collection property="childrenModules" column="module_id" select="getChildrenModues" />
</resultMap>
<select id="getModules" parameterType="String" resultMap="moduleResultMap">
select * from tb_module where module_id=2
</select>
<select id="getModulesById" parameterType="int" resultMap="moduleResultMap">
select * from tb_module where module_id = #{module_id}
</select>
<select id="getChildrenModues" parameterType="int" resultMap="moduleResultMap">
select * from tb_module where module_parent_id = #{module_id}
</select>
</mapper>
相关文章推荐
- MyBatis的学习总结三——输入映射和输出映射以及多表关联查询
- Mybatis步步进阶(七)——Mybatis实体关联映射
- MyBatis框架的一对一关联映射
- mybatis关联映射
- hibernate一对多关系映射(自身关联)
- Mybatis之关联映射
- Mybatis关联映射
- MyBatis框架的学习(五)——一对一关联映射和一对多关联映射
- Mybatis的关联映射之一对一
- hibernate映射一对多,双向关系[关联自身],初学例子四
- MyBatis框架的一对多关联映射
- MyBatis学习(二)之双向一对多关联映射查询
- MyBatis的关联映射(全)五
- 0050 MyBatis关联映射--一对多关系
- MyBatis框架的多对多关联映射
- mybatis 关联映射传递多参数方法
- 04—mybatis的关联映射
- MyBatis映射文件的resultMap如何做表关联
- 一对多自身关联双向映射
- Mybatis关联映射(关联多个对象)