前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第七节 关联映射之多对多

第七节 关联映射之多对多

作者头像
企鹅号小编
发布2018-01-16 09:26:43
8160
发布2018-01-16 09:26:43
举报
文章被收录于专栏:数据库数据库

本次用 MyBatis 实现多对多关联映射:一个学生可以选多门课,一个课也可以由多个学生选。

一、 数据库准备

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

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

创建课程表 tb_course 并插入两条数据:

由于学生和课程是多对多的关联关系,因此创建中间表:选课表 tb_select_course 并插入数据

二、新建项目

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 的代码如下:

Course.java 的代码如下:

StudentCourseLink.java代码如下:

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

StudentMapper 接口的代码如下:

StudentMapper.xml 的配置如下:

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

2.5 日志记录 log4j.properties

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

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

2.6 测试类 Test

2.7 运行测试

运行测试类 Test.java,分别调用 Test 类中的两个方法。

结果如下:

2.7.1 selectStudentCourse()

查询所有学生及他们的选择课程的信息

2.7.2 deleteStudentCourseById()

删除 id 为1的学生选择id为2的课程选课情况

再次调用 selectStudentCourse() 方法,发现 id 为1的学生已经将 id 为2的课程退选。

javawl

java学习之路

本文来自企鹅号 - JAVA的学习之路媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - JAVA的学习之路媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档