bco 发表于 2016-11-27 06:05:12

Mybatis一对一关联查询

  public class UserBind {
    private Integer id;

    private String idNo;

    private String phoneNo;

    private String openId;

    private Date latestBindTime;
   
    private Date latestCancleBindTime;
   
    private String bindFlag;
   
    private WxUser wxUser;
   /**用户所在省份  */
    private String province;
   
    public String getProvince() {
         if (this.wxUser != null){
                return this.wxUser.getProvince();
            }
            else{
                return null;
            }
    }
    public void setProvince(String province) {
        this.province = province;
    }
  }
  <!-- 一对一,没有N+1问题 -->
<resultMap id="UserOnBind" type="com.cignacmb.wxadmin.bo.UserBind">
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="id_no" property="idNo" jdbcType="VARCHAR" />
    <result column="phone_no" property="phoneNo" jdbcType="VARCHAR" />
    <result column="open_id" property="openId" jdbcType="VARCHAR" />
    <result column="latest_bind_time" property="latestBindTime" jdbcType="TIMESTAMP" />
    <result column="latest_cancle_bind_time" property="latestCancleBindTime" jdbcType="TIMESTAMP" />
    <result column="bind_flag" property="bindFlag" jdbcType="VARCHAR" />
   
    <association property="wxUser" resultMap="UserResultMap"></association>

</resultMap>
<select id="findUserOnBind" resultMap="UserOnBind">
    select * from user_bind a left join WX_USER b on a.open_id=b.openid
</select>


<resultMap id="UserResultMap" type="com.cignacmb.wxadmin.bo.WxUser" >
    <id column="openid" property="openid" jdbcType="VARCHAR" />
    <result column="subscribe" property="subscribe" jdbcType="VARCHAR" />
    <result column="nickname" property="nickname" jdbcType="VARCHAR" />
    <result column="sex" property="sex" jdbcType="VARCHAR" />
    <result column="city" property="city" jdbcType="VARCHAR" />
    <result column="province" property="province" jdbcType="VARCHAR" />
    <result column="country" property="country" jdbcType="VARCHAR" />
    <result column="language" property="language" jdbcType="VARCHAR" />
    <result column="headimgurl" property="headimgurl" jdbcType="VARCHAR" />
    <result column="subscribe_time" property="subscribeTime" jdbcType="TIMESTAMP" />
    <result column="unsubscribe_time" property="unsubscribeTime" jdbcType="TIMESTAMP" />
    <result column="bind_time" property="bindTime" jdbcType="TIMESTAMP" />
    <result column="unbind_time" property="unbindTime" jdbcType="TIMESTAMP" />
    <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
    <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
    <result column="unionid" property="unionid" jdbcType="VARCHAR" />
    <result column="id_card_number" property="idCardNumber" jdbcType="VARCHAR" />
</resultMap>
页: [1]
查看完整版本: Mybatis一对一关联查询