mybatis高级映射:一对多
2017-09-09 21:06
330 查看
说一下mybatis的复杂映射:一位老师可以教多个课程,但是一个课程只有一位老师
老师表:
课程表:
DAO 层写个方法:像配置数据源,mybatis的SessionFactory,jdbc.properties和一些扫描包啥的就不贴代码了。
两个实体类:
课程javaBean:
复杂映射必须用resuleMap进行处理,简单的映射resuleType就可以了。
下面的property里面的内容是实体类的属性,column关联的是数据库的字段。
最后写一个测试代码,我这是把sql直接放在数据库里得到的。
逐一映射每个属性,数据库主键使用ID映射。非主键,使用result映射。属性是一个集合,使用collection进行映射。下一个写一对一映射。
老师表:
课程表:
DAO 层写个方法:像配置数据源,mybatis的SessionFactory,jdbc.properties和一些扫描包啥的就不贴代码了。
public interface TheacterDao { /** * 根据ID查询老师的信息包括课程的信息 * @param ID * @return */ Thacher getTeacherWithCourseByID(int ID); }
两个实体类:
课程javaBean:
复杂映射必须用resuleMap进行处理,简单的映射resuleType就可以了。
下面的property里面的内容是实体类的属性,column关联的是数据库的字段。
<mapper namespace="cn.xyl.com.dao.TheacterDao"> <resultMap id = "CourseResultMap" type="cn.xyl.com.entity.Course" > <id property="ID" column="courseID"/> <result property="name" column="courseName"/> <result property="desc" column="desc"/> <result property="teacherID" column="ID"/> </resultMap> <resultMap id="TeacherWithCourseResultMap" type="cn.xyl.com.entity.Thacher" > <id property="ID" column="ID"/> <result property="name" column="name"/> <result property="email" column="email"/> <result property="phone" column="phone"/> <collection property = "courses" resultMap = "CourseResultMap"/> </resultMap> <select id="getTeacherWithCourseByID" parameterType="int" resultMap="TeacherWithCourseResultMap"> SELECT T.ID, T.name, T.email, T.phone, C.ID AS courseID, C.name AS courseName, C.desc FROM Teacher T LEFT OUTER JOIN Course C ON T.ID = C.teacherID WHERE T.ID = #{ID} </select> </mapper>
最后写一个测试代码,我这是把sql直接放在数据库里得到的。
逐一映射每个属性,数据库主键使用ID映射。非主键,使用result映射。属性是一个集合,使用collection进行映射。下一个写一对一映射。
相关文章推荐
- mybatis 高级映射和spring整合之与Spring整合(6)
- 【MyBatis学习08】高级映射之一对一查询
- Mybatis 高级结果映射 ResultMap Association Collection
- Mybatis中的高级映射
- mybatis输出高级映射(一对多查询)
- mybatis高级映射
- mybatis高级映射
- Mybatis深入了解(六)----关联查询(高级映射)
- Mybatis之高级映射collection (递归查出树形数据之查询部门及部门下所有人员 二叉树)
- mybatis的高级结果集映射
- (八)mybatis学习之高级映射(一对一、一对多、多对多)
- Mybatis 高级结果映射 ResultMap Association Collection
- MyBatis学习--高级映射
- 【MyBatis框架】高级映射-一对一查询
- 六 mybatis高级映射(一对一,一对多,多对多)
- Mybatis 高级结果映射Association Collection Cache-ref Discriminator Cache
- Mybatis 高级结果映射 ResultMap Association Collection
- Mybatis 高级结果映射 ResultMap Association Collection
- 【MyBatis框架】高级映射-多对多查询
- mybatis入门基础(六)----高级映射(一对一,一对多,多对多)