qq_58273204 2022-09-16 14:50 采纳率: 50%
浏览 81
已结题

多表更新sql语句该怎么写呀

问题遇到的现象和发生背景

员工类还有部门对象,在更新时sql语句该如何填写呢,传入的参数为员工对象,即关联的修改语句该怎么写呢

用代码块功能插入代码,请勿粘贴截图
public class Department {//这是部门类
    private Integer id;
    private String departmentName;
}
public class Employee {//员工类
    private Integer id;
    private String lastName;
    private String email;
    private Integer gender;
    private Department department;
    private Integer did;//did对应部门的id
    private Date birth;
}
public interface EmployeeMapper {//mapper接口
public void save(Employee employee);}


```xml
<update id="save" parameterType="Employee">
        update employee
        set lastName=#{lastName},email=#{email},gender=#{gender},birth=#{birth},
            did=#{did},department.departmentName=#{department.departmentName}
        where id=#{id}
    </update>


运行结果及报错内容

img


结果报错,应该是在xml文件传不了javabean,

我的解答思路和尝试过的方法

我在网上找的大多是多表的查询sql语句怎么写,但这多表更新语句又该怎么写呢

  • 写回答

6条回答 默认 最新

  • 向六一 2022-09-16 17:05
    关注

    一条SQL做不到同时修改两张表的数据,除非你将两个修改逻辑先写成存储过程再调用存储过程,不过这不现实。将两张表分别修改。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 9月16日

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 CSS实现渐隐虚线框
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容