案例: 现有一个学生表s_student和一个班级表c_class,其中,班级表c_class和学生表s_student是一对多的关系。学生表s_student和班级表c_class如下: 学生表s_student 学生id (id) 学生姓名 (name) 学生年龄 (age) 所属班级 (cid) 1 张三 18 1 2 李四 18 2 3 王五 19 2 4 赵六 20 1 班级表c_class 班级id (id) 班级名称 (classname) 1 一班 2 二班 要求: (1)根据学生表和班级表创建数据库,接着采用MyBatis注解完成查询id为2的学生的信息。 (2)利用MyBatis注解,将id为4的学生姓名改为李雷,年龄修改为21。 (3)MyBatis注解实现一对多的查询,查询出二班的所有学生信息。
时间: 2023-05-29 21:04:06 浏览: 906
lianbiao.rar_学生链表
(1)创建数据库和表的SQL语句:
CREATE DATABASE test;
USE test;
CREATE TABLE s_student (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
age INT NOT NULL,
cid INT NOT NULL,
FOREIGN KEY (cid) REFERENCES c_class(id)
);
CREATE TABLE c_class (
id INT PRIMARY KEY AUTO_INCREMENT,
classname VARCHAR(20) NOT NULL
);
INSERT INTO c_class (classname) VALUES ('一班'),('二班');
INSERT INTO s_student (name, age, cid) VALUES ('张三', 18, 1), ('李四', 18, 1), ('王五', 19, 2), ('赵六', 20, 2);
(2)MyBatis注解实现查询id为2的学生的信息:
@Select("SELECT * FROM s_student WHERE id = #{id}")
public Student findStudentById(int id);
(3)MyBatis注解实现修改id为4的学生姓名为李雷,年龄为21:
@Update("UPDATE s_student SET name = #{name}, age = #{age} WHERE id = #{id}")
public int updateStudentById(@Param("id") int id, @Param("name") String name, @Param("age") int age);
(4)MyBatis注解实现一对多的查询,查询出二班的所有学生信息:
@Select("SELECT * FROM s_student WHERE cid = #{cid}")
public List<Student> findStudentsByClassId(int cid);
阅读全文