mybatis 本身关联 映射

mybatis 自身关联 映射
实体类

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;
	}
}



<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>

1 楼 shidan66 2012-04-21  
学习了,正好用到这个~感谢楼主mybatis 本身关联 映射