关联查询
- 一、创建数据库表
- 1、创建教师表并插入数据
- 2、创建班级表并插入数据
- 3、创建学生表并插入数据
- 二、创建与数据库表对应的实体类
- 1、创建教师实体类
- 2、创建学生实体类
- 3、创建班级实体类
- 三、创建班级映射器配置文件
- 1、在resources/mapper目录里创建班级映射器配置文件ClazzMapper.xml
- 四、修改MyBatis配置文件
- 五、定义班级映射接口ClazzMapper
- 六、创建测试类TestClazzMapper
- 七、添加测试方法,运行测试类
- 1、
- 2、
- 3、
- 运行错误
- 1、
- 2、重构一下Teacher类
- 小结
一、创建数据库表
1、创建教师表并插入数据
CREATE TABLE `t_teacher` (
`t_id` int(11) NOT NULL AUTO_INCREMENT,
`t_name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`t_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `t_teacher` VALUES ('1', '刘晓云');
INSERT INTO `t_teacher` VALUES ('2', '郑同华');
INSERT INTO `t_teacher` VALUES ('3', '李明军');
2、创建班级表并插入数据
CREATE TABLE `t_class` (
`c_id` int(11) NOT NULL AUTO_INCREMENT,
`c_name` varchar(20) DEFAULT NULL,
`teacher_id` int(11) DEFAULT NULL,
PRIMARY KEY (`c_id`),
KEY `fk_teacher_id` (`teacher_id`),
CONSTRAINT `fk_teacher_id` FOREIGN KEY (`teacher_id`) REFERENCES `t_teacher` (`t_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `t_class` VALUES ('1', '2020软件1班', '3');
INSERT INTO `t_class` VALUES ('2', '2020软件2班', '2');
INSERT INTO `t_class` VALUES ('3', '2020软件3班', '1');
3、创建学生表并插入数据
CREATE TABLE `t_student` (
`s_id` int(11) NOT NULL AUTO_INCREMENT,
`s_name` varchar(30) DEFAULT NULL,
`s_gender` varchar(10) DEFAULT NULL,
`s_age` int(11) DEFAULT NULL,
`class_id` int(11) DEFAULT NULL,
PRIMARY KEY (`s_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
INSERT INTO `t_student` VALUES ('1', '冬大为', '男','20','1');
INSERT INTO `t_student` VALUES ('2', '李芳玉', '女','20','1');
INSERT INTO `t_student` VALUES ('3', '郑大岺', '男','19','2');
INSERT INTO `t_student` VALUES ('4', '温晓辉', '男','18','1');
INSERT INTO `t_student` VALUES ('5', '吴文静', '女','20','2');
INSERT INTO `t_student` VALUES ('6', '肖文艳', '女','20','3');
INSERT INTO `t_student` VALUES ('7', '杨文军', '男','20','3');
INSERT INTO `t_student` VALUES ('8', '唐雨涵', '女','19','2');
INSERT INTO `t_student` VALUES ('9', '金雨欣', '女','20','1');
二、创建与数据库表对应的实体类
1、创建教师实体类
2、创建学生实体类
因为还没创建班级实体类,所以报错
3、创建班级实体类
班级实体类创建后,学生类报错就没了
三、创建班级映射器配置文件
1、在resources/mapper目录里创建班级映射器配置文件ClazzMapper.xml
四、修改MyBatis配置文件
五、定义班级映射接口ClazzMapper
六、创建测试类TestClazzMapper
七、添加测试方法,运行测试类
1、
2、
3、
运行错误
1、
报错:Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is ‘mapper/ClazzMapper.xml’. Cause: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.int
删除后正常运行
2、重构一下Teacher类
由于操作失误,把Teacher打成Tercher
小结
注意细节注意细节注意细节