问题描述
- 关于mybatis多对多数据更新的问题
-
刚学mybatis,遇到如下的问题,纠结了很久啊。。。。。。各路神仙求帮忙
三个表:
drop table middles;
drop table students;
drop table courses;
create table students(
sid int(5) primary key,
sname varchar(10)
);
create table courses(
cid int(5) primary key,
cname varchar(10)
);
create table middles(
sid int(5),
cid int(5),
primary key(sid,cid)
);
学生实体和课程实体如下:
/**- 学生(多方)
/
public class Student {
private Integer id;
private String name;
private List courseList = new ArrayList();
public Student(){}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List getCourseList() {
return courseList;
}
public void setCourseList(List courseList) {
this.courseList = courseList;
}
}
/* - 课程(多方)
- @author AdminTC
*/
public class Course {
private Integer id;
private String name;
private List studentList = new ArrayList();
public Course(){}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List getStudentList() {
return studentList;
}
public void setStudentList(List studentList) {
this.studentList = studentList;
}
}
现在的问题是,某个学生A在自己学的课程中,又加了一门课叫pentaKillCourse。
代码流程如下:
Course pentaKillCourse = new Course ();
Student A = new Student();
A.getCourseList().add(pentaKillCourse );
studentService.update(user);
--------------------------------studentService.update()方法如下-------------------------------------------
public void update(User user) {
userDao.updateUser(user);
}
--------------------------------userDao.updateUser()方法如下---------------------------------------------
public void updateUser(User user) {
SqlSession sqlSesion = sqlSessionFactory.openSession();
sqlSesion.update("userNamespace.updateUser", user);}
下面是userMapper:
.........................................................................
- 学生(多方)
解决方案
http://feiyeguohai.iteye.com/blog/1180898/
时间: 2024-07-30 22:46:09