ibatis对象关系映射

      在ibatis中对象关系映射是需要自己动手配置的,这点不如hibernate,下面是一个简单的例子:

首先是两个普通的javaBean:

</pre><pre name="code" class="java">/**
 * 用户角色菜单entity
 * @author mac
 *
 */
public class ParentMenu {
	private String parentName;//父菜单名称
	
	private Integer parentId;//父菜单id
	
	private List<SubMenu> subMenuLs;//子菜单集合

	public String getParentName() {
		return parentName;
	}

	public void setParentName(String parentName) {
		this.parentName = parentName;
	}

	public Integer getParentId() {
		return parentId;
	}

	public void setParentId(Integer parentId) {
		this.parentId = parentId;
	}

	public List<SubMenu> getSubMenuLs() {
		return subMenuLs;
	}

	public void setSubMenuLs(List<SubMenu> subMenuLs) {
		this.subMenuLs = subMenuLs;
	}
	
}

/**
 * 用户角色子菜单entity
 * @author mac
 *
 */
public class SubMenu {
	private String subName;//子菜单名称
	
	private Integer subId;//子菜单id

	public String getSubName() {
		return subName;
	}

	public void setSubName(String subName) {
		this.subName = subName;
	}

	public Integer getSubId() {
		return subId;
	}

	public void setSubId(Integer subId) {
		this.subId = subId;
	}
	
}
下面是ibatis.xml里面的配置:

<resultMap class="com.ideal.client.palmhospital.entity.doctor.ParentMenu" id="ParentMenuMap" groupBy="parentId">
	 <result property="parentName" column="PARENTNAME"/>
	 <result property="parentId" column="PARENTID"/>
	 <result property="subMenuLs" resultMap="ibatis-mobileMenu.subMenuMap"/>
</resultMap>
<resultMap class="com.ideal.client.palmhospital.entity.doctor.SubMenu" id="subMenuMap">
	 <result property="subName" column="SUBNAME"/>
	 <result property="subId" column="SUBID"/>
</resultMap>
在ParentMenuMap中的groupBy属性的值对应的是javaBean的属性,意思是根据对应的属性分组;

下面是sql语句:

<select id="MobileMenu.queryParentMenu" resultMap="ParentMenuMap" parameterClass="java.lang.String">
    select c.menu_name PARENTNAME,d.menu_parent_id PARENTID,c.id,d.menu_name SUBNAME,d.id SUBID from user_mobile_role a, mobile_role_menu b,mobile_menu c,mobile_menu d
	where a.mobile_role_id = b.mobile_role_id
	and b.mobile_menu_id = d.id
	and a.user_id = #userId#
	and d.menu_parent_id=c.id
	order by d.id
   </select>

这样配置完成后,一对多的关系就配置好了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值