MyBatis表关系
2017-09-14 11:17
225 查看
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
首先实体类:
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
相关文章推荐
- MyBatis关系映射
- Mybatis 一对多(OneToOne)关系映射
- mybatis对象之间映射关系以及数据库表建立的时候外键的添加
- mybatis处理and、or关系的方法
- MyBatis对多关系:显示该用户的所有角色
- Mybatis框架③——关系映射
- MyBatis JdbcType 与Oracle、MySql数据类型对应关系详解作者@loongshawn
- mybatis学习 一对多关系和多对多关系
- Mybatis中javaType和jdbcType对应关系
- MyBatis关系关联映射
- mybatis 一对多关系
- MyBatis配置Mapping,JavaType和JDBCType的对应关系,#与$区别
- mybatis 中0 和 null 关系处理
- mybatis对象之间映射关系以及数据库表建立的时候外键的添加
- mybatis关系映射之一对多和多对一
- Mybatis中javaType和jdbcType关系对照表
- Mybatis框架中的注解应用之关系映射
- Mybatis多对多映射关系详解
- mybatis、 jdbc、 mysql-connector 之间的关系
- Spring boot通过JPA和Mybatis同时连接2个关系数据库的例子