关于mybatis多对多数据更新的问题

问题描述

关于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

关于mybatis多对多数据更新的问题的相关文章

统计分析算法求优化方案--多对多数据集合的包含次数统计

问题描述 统计分析算法求优化方案--多对多数据集合的包含次数统计 两组数据,一组为产品ID,一组为专柜号,一个产品会对应多个专柜号,一个专柜号会对应多个产品ID,统计任意两种产品出现在一个专柜里的次数

mybatis-求助:Mybatis不提交更新是怎么回事???

问题描述 求助:Mybatis不提交更新是怎么回事??? 附上日志: DEBUG [main] - Logging initialized using 'class org.apache.ibatis.logging.log4j.Log4jImpl' adapter. DEBUG [main] - PooledDataSource forcefully closed/removed all connections. DEBUG [main] - PooledDataSource forceful

MyBatis多对多映射初识教程_java

MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 在上篇文章给大家介绍MyBatis一对一映射初识教程. 下面给大家说下mybatis多对多映射知识,具体详情如下所示: 多对多的例子也不少,比如课程与学生之间的关系

Mybatis多对多关联查询

mybatis3.0添加了association和collection标签专门用于对多个相关实体类数据进行级联查询,但仍不支持多个相关实体类数据的级联保存和级联删除操作.因此在进行实体类多对多映射表设计时,需要专门建立一个关联对象类对相关实体类的关联关系进行描述.下文将以"User"和"Group"两个实体类之间的多对多关联映射为例进行CRUD操作. 建立user表,对应实体类"User",建表语句如下: Sql代码 CREATE TABLE `

php嵌套循环分类怎么写---求大神帮帮忙呀!

问题描述 php嵌套循环分类怎么写---求大神帮帮忙呀! 鼠标悬停的时候,自动显示大分类下的小分类.(JS已经写出来了,就是php部分不会嵌套) <li class="nav-sub" data-tips="sub-school"> <a href="<{:U('Product/products')}>" class="tit">销售与支持</a> <div class=&

Mybatis中的高级映射一对一、一对多、多对多_java

学习hibernate的时候,小编已经接触多各种映射,mybatis中映射有到底是如何运转的,今天这篇博文,小编主要来简单的介绍一下mybatis中的高级映射,包括一对一.一对多.多对多,希望多有需要的小伙伴有帮助,小编主要从四个方面进行介绍,订单商品数据模型.一对一查询.一对多查询.多对多查询. 一.订单商品数据模型 1.数据库执行脚本,如下所示: <span style="font-family:Comic Sans MS;font-size:18px;">CREATE

如何在DJANGO里,向有外键(一对多和多对多)的DB里插入数据?

需要插入的数据表结构如下:   [python] view plaincopy   class UserInfo(models.Model):       user_id =models.AutoField(primary_key=True)       user_name=models.CharField(max_length=20,unique=True)        depart=models.ForeignKey(DepartmentInfo)       role=models.Ma

详解Java的MyBatis框架中SQL语句映射部分的编写_java

1.resultMapSQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: <mappers> <mapper resource="com/liming/manager/data/mappers/UserMapper.xml" /> <mapper resource="com/liming/manag

Hibernate从入门到精通(十一)多对多双向关联映射

上次我们在中Hibernate从入门到精通(十)多对多单向关联映射讲解了一下多对多单向关联映射,这次我 们讲解一下七种映射中的最后一种多对多双向关联映射. 多对多双向关联映射 按照我们之前的惯例,先看一下相关类图和代码,具体如下: public class Role { private int id; private String name; private Set users; public int getId() { return id; } public void setId(int id