码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis关联映射

时间:2016-09-17 00:21:54      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

多对一:

 1 <!--    方法一: -->
 2     <select id="getNewsListByPage" parameterType="com.zqc.share.model.news.NewsPage" resultMap="newsPageMap">  
 3       select * from news limit #{newsPage.page},#{newsPage.size}
 4     </select>
 5 
 6  <resultMap id="newsPageMap" type="com.zqc.share.model.news.NewsPage">
 7          <id column="id" property="id"/>  
 8          <result column="description" property="description"/>
 9          <result column="title" property="title"/>
10          <result column="head_image" property="head_image"/>
11          <result column="publishtime" property="publishtime"/>
12          <result column="readtimes" property="readtimes"/>
13          <result column="goodcount" property="goodcount"/>
14          <result column="badcount" property="badcount"/> 
15          <association property="user" column="user_id" javaType="com.zqc.share.model.user.User"  select="com.zqc.share.dao.user.UserDao.getUserById" />
16          <association property="topic" column="topic_id" javaType="com.zqc.share.model.topic.Topic"  select="com.zqc.share.dao.topic.TopicDao.getTopicById" />
17     </resultMap>
18 
19 <select id="getTopicById" parameterType="int" resultType="com.zqc.share.model.topic.Topic">
20          select * from topic where id=#{topic_id}
21     </select>
22 
23 <select id="getUserById" parameterType="int" resultType="com.zqc.share.model.user.User">
24          select * from user where id=#{user_id}
25     </select>
<!-- 方法2 -->

<select id="getNewsListByPage" parameterType="com.zqc.share.model.news.NewsPage" resultMap="newsPageMap">  
        select * from user u,news n,topic t where n.user_id=u.id and n.topic_id=t.id limit #{newsPage.page},#{newsPage.size}
    </select>
    
    <resultMap type="com.zqc.share.model.news.NewsPage"  id="newsPageMap">
        <id column="id" property="id"/>  
        <result column="description" property="description"/>
        <result column="title" property="title"/>
        <result column="topic_id" property="topic_id"/>
        <result column="user_id" property="user_id"/>
        <result column="head_image" property="head_image"/>
        <result column="publishtime" property="publishtime"/>
        <result column="readtimes" property="readtimes"/>
        <result column="goodcount" property="goodcount"/>
        <result column="badcount" property="badcount"/> 
        <association property="user" javaType="com.zqc.share.model.user.User"  resultMap="userMap" />
       <association property="topic" javaType="com.zqc.share.model.topic.Topic"  resultMap="topicMap" /> 
        
    </resultMap>
    
    <resultMap type="com.zqc.share.model.user.User"  id="userMap">
          <id column="id" property="id"/>  
          <result column="name" property="name"/>
          <result column="head_image" property="head_image"/>
          <result column="mobile" property="mobile"/>
          <result column="email" property="email"/>
          <result column="address" property="address"/>
          <result column="age" property="age"/>
          <result column="user_no" property="user_no"/>
          <result column="password" property="password"/>
    </resultMap>
    
    <resultMap type="com.zqc.share.model.topic.Topic"  id="topicMap">
          <id column="id" property="id"/>
          <result column="name" property="name"/>
          <result column="description" property="description"/>
    </resultMap>

一对多+多对一:

 1 <select id="getNewsById" parameterType="com.zqc.share.model.news.News" resultMap="newsMap">
 2          select n.id,n.description,n.title,n.head_image,n.publishtime,n.readtimes,n.goodcount,n.badcount,n.topic_id,n.user_id,
 3             i.image,i.context,i.news_id,i.id
 4             from news_item i,news n,topic t,user u 
 5             where i.news_id=n.id and n.id = #{news.id} 
 6     </select>
 7 
 8 <resultMap id="newsMap" type="com.zqc.share.model.news.News">
 9          <id column="id" property="id"/>  
10          <result column="description" property="description"/>
11          <result column="title" property="title"/>
12          <result column="head_image" property="head_image"/>
13          <result column="publishtime" property="publishtime"/>
14          <result column="readtimes" property="readtimes"/>
15          <result column="goodcount" property="goodcount"/>
16          <result column="badcount" property="badcount"/> 
17          <association property="user" column="user_id" javaType="com.zqc.share.model.user.User"  select="com.zqc.share.dao.user.UserDao.getUserById" />
18          <association property="topic" column="topic_id" javaType="com.zqc.share.model.topic.Topic"  select="com.zqc.share.dao.topic.TopicDao.getTopicById" />
19          <collection property="newsItems" ofType="com.zqc.share.model.news.NewsItem" resultMap="newsItemsMap"/>
20     </resultMap>
21  
22     <resultMap type="com.zqc.share.model.news.NewsItem"  id="newsItemsMap">
23           <result column="id" property="id"/>
24           <result column="news_id" property="news_id"/>
25           <result column="image" property="image"/>
26           <result column="context" property="context"/>
27     </resultMap>
28 
29 <select id="getTopicById" parameterType="int" resultType="com.zqc.share.model.topic.Topic">
30          select * from topic where id=#{topic_id}
31     </select>
32 
33 <select id="getUserById" parameterType="int" resultType="com.zqc.share.model.user.User">
34          select * from user where id=#{user_id}
35     </select>

 

mybatis关联映射

标签:

原文地址:http://www.cnblogs.com/yzwhykd/p/5877475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!