mybatis高级映射:一对多
来源:互联网 发布:0基础php自学要多久 编辑:程序博客网 时间:2024/06/06 09:56
说一下mybatis的复杂映射:一位老师可以教多个课程,但是一个课程只有一位老师
老师表:
课程表:
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进行映射。下一个写一对一映射。
阅读全文
0 0
- MyBatis-高级映射:一对多
- mybatis高级映射:一对多
- 【MyBatis框架】高级映射-一对多查询
- mybatis高级映射一对多查询(一)
- 【MyBatis框架】高级映射-一对多查询
- MyBatis高级映射(一对多查询)
- mybatis输出高级映射(一对多查询)
- Mybatis高级映射一对多查询
- mybatis映射 一对一、一对多、多对多高级映射
- MyBatis高级映射之-一对一(一对多)关联映射
- mybatis中的高级映射一对一、一对多、多对多
- mybatis高级映射(一对一,一对多,多对多)
- Mybatis高级结果映射一对一或一对多
- mybatis学习之高级映射中的一对多查询
- Mybatis高级映射(一对一的查询以及一对多)
- 【Mybatis高级映射】一对一映射、一对多映射、多对多映射
- 高级映射:一对多查询
- MyBatis 一对多映射配置
- ListView
- 第29讲:文件:一个任务
- hdoj 6060(2017 Multi-University Training Contest
- Jmeter FTP服务
- JAVA反射机制
- mybatis高级映射:一对多
- synchronized 的另个一重要作用:内存可见性
- HTTP 协议详解(图文介绍)_网络协议
- UVALive
- 关于腾讯云服务器不能用公网ip访问的解决方案
- React-Native中关于样式的良好实践
- Java面试中hashCode()与equals(Object obj)方法关系的准确回答
- 安装mycat1.6环境(win7系统)
- 360内核 inline Hook 分析