mybatis框架的连表查询one2one

mybatis 的连表查询one2onejava

1.能够经过主从表之间的关联查询经过主键两次sql

在resultMap映射中的association标签<association property="info" column="user_id"
   javaType="UserInfo"mybatis

再经过select属性获得从表对应映射的mapper的getUserInfoByUserId方法
   select="com.gezhi.mapper.UserInfoMapper.getUserInfoByUserId">
  </association>app

从表的mapperci

<sql id="userInfoSql">
  info_id,info_nickname,info_phone,info_email,info_gender,info_address
 </sql>
 
 <select id="getUserInfoByUserId" resultMap="userInfoMap"
  parameterType="int">
  select
  <include refid="userInfoSql"></include>
  from user_info where user_id=#{id}
 </select>get

2.经过left join 连表查询一次string

去掉select属性,添加从表的result Mapio

<association property="info" column="user_id"
   javaType="UserInfo"
   resultMap="com.gezhi.mapper.UserInfoMapper.userInfoMap">
  </association>email

从表中的mapperselect

 <!-- 联合查询users表中的信息,双向关联 --> <resultMap type="UserInfo" id="userInfoMap">  <id property="infoId" column="info_id" javaType="integer" />  <result property="nickName" column="info_nickname"   javaType="java.lang.String" />  <result property="phone" column="info_phone"   javaType="java.lang.String" />  <result property="Email" column="info_email" javaType="string" />  <result property="gender" column="info_gender"   javaType="string" />  <result property="address" column="info_address"   javaType="java.lang.String" />  <association property="user" column="user_id"   javaType="User" resultMap="com.gezhi.mapper.UserMapper.userResultMap">  </association> </resultMap>

相关文章
相关标签/搜索