ibatis对象关系映射

来源:互联网 发布:windows vista宣传片 编辑:程序博客网 时间:2024/05/20 20:19

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

首先是两个普通的javaBean:

</pre><pre name="code" class="java">/** * 用户角色菜单entity * @author mac * */public class ParentMenu {private String parentName;//父菜单名称private Integer parentId;//父菜单idprivate 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;//子菜单idpublic 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 dwhere a.mobile_role_id = b.mobile_role_idand b.mobile_menu_id = d.idand a.user_id = #userId#and d.menu_parent_id=c.idorder by d.id   </select>

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



0 0
原创粉丝点击