mybatis的关联:自关联、一对一、一对多、多对多
2016-05-20 15:52
465 查看
一:自关联,如菜单表的自己跟自己关联
实体类:
public class Menu {
private String menuid;
private String menuname;
private String url;
private String icon;
}
包装类:
public class MenuVo {
private String menuid;
private String menuname;
private String url;
private String icon;
private List<Menu> menus;//下级菜单
}
映射文件: 其中menuid是父id,pid是子id
<resultMap type="com.ninemax.ssm.po.MenuVo" id="menusMap">
<id column="menuid" property="menuid" jdbcType="VARCHAR" />
<result column="menuname" property="menuname" jdbcType="VARCHAR" />
<result column="url" property="url" jdbcType="VARCHAR" />
<result column="icon" property="icon" jdbcType="VARCHAR" />
<collection property="menus" column="menuid" select="getMenus" />
</resultMap>
<select id="queryMenus" parameterType="string" resultMap="menusMap">
select * from menu where menuid = #{menuid,jdbcType=VARCHAR}
</select>
<select id="getMenus" parameterType="string" resultMap="menusMap">
select * from menu where pid = #{menuid}
</select>
二:一对一关联
实体类:
public class Menu {
private String menuid;
private String menuname;
private String url;
private String icon;
}
包装类:
public class MenuVo {
private String menuid;
private String menuname;
private String url;
private String icon;
private List<Menu> menus;//下级菜单
}
映射文件: 其中menuid是父id,pid是子id
<resultMap type="com.ninemax.ssm.po.MenuVo" id="menusMap">
<id column="menuid" property="menuid" jdbcType="VARCHAR" />
<result column="menuname" property="menuname" jdbcType="VARCHAR" />
<result column="url" property="url" jdbcType="VARCHAR" />
<result column="icon" property="icon" jdbcType="VARCHAR" />
<collection property="menus" column="menuid" select="getMenus" />
</resultMap>
<select id="queryMenus" parameterType="string" resultMap="menusMap">
select * from menu where menuid = #{menuid,jdbcType=VARCHAR}
</select>
<select id="getMenus" parameterType="string" resultMap="menusMap">
select * from menu where pid = #{menuid}
</select>
二:一对一关联
相关文章推荐
- 利用SHBrowseForFolder 产生路径选择对话框 同时指向默认路径文件
- WebService + xml
- c#上传大文件方法
- Windows系统端口占用情况检查脚本
- Java_动态编译总结
- 基于JIRA的Scrum敏捷开发的项目管理
- 基于JIRA的Scrum敏捷开发的项目管理
- 一种提高Android应用进程存活率新方法
- 微信开发之群发接口
- bboss mvc基础配置介绍
- 织梦dedecms如何去除版权中的Power by DedeCms
- IOS-swift 动画03 CAAnimationGroup
- redis环境配置
- 【架构】Nginx如何设置X-Request-ID请求头,记录请求时间:毫秒?
- 会表演的"汤姆猫" —— 让 APP 动起来
- L1-010. 比较大小(C++)
- 网络统计命令
- apk签名的命令行
- TinyPNG---一个压缩PNG的神站
- unity屏幕模糊