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>