第六节 关联映射之一对多

本次测试用 MyBatis 实现一对多关联映射:一个班级有多个学生(一对多),一个学生只属于一个班级(多对一)。

一、 数据库准备

为了测试方便,我们在这里新建一个数据库并取名mybatis用作测试。

创建班级表 tb_class 并插入一条数据:

创建学生表 tb_student 并插入三条数据:

检测数据插入情况:

二、新建项目

2.1 导入所需 jar 包

所需 jar 包:

MyBatis jar 包: mybatis-3.3.0.jar

MySQL 驱动 jar 包: mysql-connector-java-5.1.35.jar

日志记录 jar 包: log4j-1.2.17.jar

2.2、 实体类

Student.java 的代码如下:

Classes.java 的代码如下:

2.3 创建方法接口和定义映射文件

ClassesMapper 接口的代码如下:

ClassesMapper.xml 的配置如下:

在这里,采用的是集合的嵌套结果映射的方式,使用了 元素映射一对多的关联关系。

2.5 日志记录 log4j.properties

使用日志文件是为了查看控制台输出的 SQL 语句。

log4j.properties ,在里面添加如下内容:

2.6 测试类 Test

2.7 运行测试

运行测试类 Test.java,查询 id 为1的班级的所有信息及其班主任的信息。

输出信息与数据库中的数据一致。

注:以上实现的是一对多,多对一的实现和一对一的方式一样,这里不再赘述。

javawl

java学习之路

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171226G00D7X00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励