mybaits 一对多 关联查询
2016-04-13 20:11
471 查看
<resultMap id="BaseResultMap" type="com.wj.weixin.menu.model.WxMenu" > <id column="WX_ID" property="wxId" jdbcType="VARCHAR" /> <id column="id" property="id" jdbcType="INTEGER" /> <result column="menu_type" property="menuType" jdbcType="VARCHAR" /> <result column="menu_name" property="menuName" jdbcType="VARCHAR" /> <result column="menu_key" property="menuKey" jdbcType="VARCHAR" /> <result column="menu_url" property="menuUrl" jdbcType="VARCHAR" /> <result column="media_id" property="mediaId" jdbcType="VARCHAR" /> <result column="pid" property="pid" jdbcType="INTEGER" /> <result column="is_has_child" property="isHasChild" jdbcType="INTEGER" /> <result column="seq" property="seq" jdbcType="INTEGER" /> <result column="keywords_id" property="keywordsId" jdbcType="INTEGER" /> <result column="del_flag" property="delFlag" jdbcType="INTEGER" /> <result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> </resultMap> <resultMap type="com.wj.weixin.menu.model.WxMenu" id="menuResultMap" extends="BaseResultMap"> <collection property="subWxMenu" column="id" javaType="ArrayList" ofType="com.wj.weixin.menu.model.WxMenu"> <id column="b_id" property="id" jdbcType="INTEGER" /> <result column="b_WX_ID" property="wxId" jdbcType="VARCHAR" /> <result column="b_menu_type" property="menuType" jdbcType="VARCHAR" /> <result column="b_menu_name" property="menuName" jdbcType="VARCHAR" /> <result column="b_menu_key" property="menuKey" jdbcType="VARCHAR" /> <result column="b_menu_url" property="menuUrl" jdbcType="VARCHAR" /> <result column="b_media_id" property="mediaId" jdbcType="VARCHAR" /> <result column="b_pid" property="pid" jdbcType="INTEGER" /> <result column="b_is_has_child" property="isHasChild" jdbcType="INTEGER" /> <result column="b_seq" property="seq" jdbcType="INTEGER" /> <result column="b_keywords_id" property="keywordsId" jdbcType="INTEGER" /> <result column="b_del_flag" property="delFlag" jdbcType="INTEGER" /> <result column="b_create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="b_update_time" property="updateTime" jdbcType="TIMESTAMP" /> </collection> </resultMap> <select id="selectAllByWxId" resultMap="menuResultMap" parameterType="java.lang.String" > select a.WX_ID, a.id, a.menu_type, a.menu_name, a.menu_key, a.menu_url, a.media_id, a.pid, a.is_has_child, a.seq, a.keywords_id, a.del_flag, a.create_time, a.update_time, b.WX_ID AS b_WX_ID, b.id AS b_id, b.menu_type AS b_menu_type, b.menu_name AS b_menu_name, b.menu_key AS b_menu_key, b.menu_url AS b_menu_url, b.media_id AS b_media_id, b.pid AS b_pid, b.is_has_child AS p_is_has_child, b.seq AS b_seq, b.keywords_id AS b_keywords_id, b.del_flag AS b_del_flag, b.create_time AS b_create_time, b.update_time AS b_update_time FROM t_wx_menu a left JOIN t_wx_menu b on b.pid = a.id where a.WX_ID = #{wxId,jdbcType=VARCHAR} and a.del_flag = 0 and b.del_flag = 0 </select>
以上是mapper.xml 配置,
关键点:collection 标签
javaType ,ofType
sql的写法
关联查存在着N+1的问题
见:http://www.tuicool.com/articles/M3QJvu
相关文章推荐
- 错误:Command /usr/bin/codesign failed with exit code 1
- leetcode——11——Container With Most Water
- 错误: error linker command failed with exit code 1 (use –v to see invocation)
- drupal behavior good explain
- HDU 5228 ZCC loves straight flush 暴力
- Kafka设计解析(三) : Kafka High Availability (下)
- Kafka设计解析(二):Kafka High Availability (上)
- opencv cvcopy() error :assertion faild (src.depth()==dst.depth()&&src.size==dst.size)
- Aizu 2249 Road Construction【最短路变形】
- char *p[]={"Shanghai","Beijing","Honkong"};则结果为j字符的表达式是
- leetCode(28):Contains Duplicate II
- LeetCode *** 11. Container With Most Water
- hdu2473 Junk-Mail Filter-并查集(删除)
- CodeForces 164A Variable, or There and Back Again(搜索)
- 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
- LeetCode Algorithms #172 <Factorial Trailing Zeroes>
- 【原创】k8s源码分析-----kubelet(7)containerRuntime
- IPC(五)——浅谈AIDL的架构原理
- LightOJ 1138 Trailing Zeroes (III) 打表
- CDISC SDTM SE domain 学习笔记