本文共 6724 字,大约阅读时间需要 22 分钟。
比如说,我们很多个学生对应一个老师,这就是多对一。
要想实现多对一,首先得有两张表,如何在其中一张表中添加另外一章表的外键。 mysql提供的语句:CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teacher(`id`, `name`) VALUES (1, '秦老师'); CREATE TABLE `student` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, `tid` INT(10) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fktid` (`tid`), CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO `student` (`id`, `name`, `tid`) VALUES (1, '武少伟', 1); INSERT INTO `student` (`id`, `name`, `tid`) VALUES (2, '李鸿彬', 1); INSERT INTO `student` (`id`, `name`, `tid`) VALUES (3, '武少伟', 1); INSERT INTO `student` (`id`, `name`, `tid`) VALUES (4, '姚震', 1); INSERT INTO `student` (`id`, `name`, `tid`) VALUES (5, '夏彬峰', 1);
package com.baidu.pojo;public class Student { private int id; private String name; private Teacher teacher; public Student(int id, String name, Teacher teacher) { this.id = id; this.name = name; this.teacher = teacher; } public Student() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Teacher getTeacher() { return teacher; } public void setTeacher(Teacher teacher) { this.teacher = teacher; } @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + ", teacher=" + teacher + '}'; }}
package com.baidu.pojo;public class Teacher { private int id; private String name; public Teacher() { } public Teacher(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Teacher{" + "id=" + id + ", name='" + name + '\'' + '}'; }}
package com.baidu.dao;import com.baidu.pojo.Student;import java.util.List;public interface StudentDao { //获得全部学生的信息,以及对应的老师 ListgetStudents(); List getStudents2();}
package com.baidu.dao;import com.baidu.pojo.Student;import com.baidu.utils.MyBatisUtils;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import java.util.List;public class StudentDaoTest { @Test public void getStudents(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); StudentDao mapper = sqlSession.getMapper(StudentDao.class); Liststudents = mapper.getStudents(); for (Student student : students) { System.out.println(student); } } @Test public void getStudents2(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); StudentDao mapper = sqlSession.getMapper(StudentDao.class); List students = mapper.getStudents2(); for (Student student : students) { System.out.println(student); } }}
package com.baidu.pojo;import java.util.List;public class Teacher { private int id; private String name; private Liststudents; public Teacher(int id, String name, List students) { this.id = id; this.name = name; this.students = students; } public Teacher() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List getStudents() { return students; } public void setStudents(List students) { this.students = students; } @Override public String toString() { return "Teacher{" + "id=" + id + ", name='" + name + '\'' + ", students=" + students + '}'; }}
Teacher getTeacher(int id);
package com.baidu;import com.baidu.dao.TeacherDao;import com.baidu.pojo.Teacher;import com.baidu.utils.MyBatisUtils;import org.apache.ibatis.session.SqlSession;import org.junit.Test;public class TeacherDaoTest { @Test public void getTeacher(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); TeacherDao mapper = sqlSession.getMapper(TeacherDao.class); Teacher teacher = mapper.getTeacher(1); System.out.println(teacher); }}第二种方法
Teacher getTeacherTwo(int id);
@Test public void getTeacher2(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); TeacherDao mapper = sqlSession.getMapper(TeacherDao.class); Teacher teacher = mapper.getTeacherTwo(1); System.out.println(teacher); }
delete from smbms.smbms_role id = #{id} update smbms.smbms_role roleCode = #{roleCode}, roleName = #{roleName}, createdBy = #{createdBy}, creationDate = #{creationDate}, modifyBy = #{modifyBy}, modifyDate = #{modifyDate},
转载地址:http://shohn.baihongyu.com/