MyBatis表关系
MyBatis
首先实体类:
User
Orders
Dept
声明:关系构建全部都以查询user为主
UserMapper.xml
<mapper namespace="com.zhiyou.mapper.UserMapper"><!-- 包名.持久化类mapperXML; 随便写 -->
<resultMap type="com.zhiyou.model.User" id="userResult">
<!-- id主键 -->
<id column="u_id" property="u_id"/>
<!-- 其他的 -->
<result column="u_name" property="u_name"/>
<result column="u_age" property="u_age"/>
</resultMap>
<!-- set集合 -->
<resultMap type="com.zhiyou.model.User" id="user_ordersResult" extends="userResult">
<collection property="orders" ofType="com.zhiyou.model.Orders">
<id column="r_id" property="r_id"/>
<!-- 其他的 -->
<result column="r_name" property="r_name"/>
<result column="r_desc" property="r_desc"/>
</collection>
</resultMap>
<select id="findUser_Orders" resultMap="user_ordersResult">
<!-- 查处user的信息和订单的信息 -->
select * from user u left join orders o on u.u_id=o.u_id
</select>
<resultMap type="com.zhiyou.model.User" id="user_Dept" extends="userResult">
<!-- 对一的关系 -->
<association property="dept" javaType="com.zhiyou.model.Dept">
<id column="d_id" property="d_id"/>
<!-- 其他的 -->
<result column="d_name" property="name"/>
</association>
</resultMap>
<select id="findUser_Dept" resultMap="user_Dept">
<!-- 查处user的信息和订单的信息 -->
select * from user u left join dept d on u.d_id=d.d_id
</select>
<resultMap type="com.zhiyou.model.User" id="user_Dept_Orders" extends="user_ordersResult">
<!-- 对一的关系 -->
<association property="dept" javaType="com.zhiyou.model.Dept">
<id column="d_id" property="d_id"/>
<!-- 其他的 -->
<result column="d_name" property="name"/>
</association>
</resultMap>
<select id="findUser_Dept_Orders" resultMap="user_Dept_Orders">
<!-- 查处user的信息和订单的信息 -->
select * from user u left join dept d on u.d_id=d.d_id left join orders o on u.u_id=o.u_id
</select>
</mapper>
Test