ssm 联表修改 数据更新影响行数为0行

mapper.xml里面sql图片说明
service图片说明
serviceImpl图片说明
controller图片说明
jsp页面图片说明
日志文件:
DEBUG [http-apr-8080-exec-5] - ==> Preparing: UPDATE smbms_bill s1 JOIN smbms_provider s2 ON s1.providerId = s2.id SET s1.billCode = ?, s1.productName = ?, s2.proName = ?, s1.productCount = ?, s1.isPayment = ?, s1.creationDate = ? where s1.id = ?
DEBUG [http-apr-8080-exec-5] - ==> Parameters: null, null, null, null, null, null, null
DEBUG [http-apr-8080-exec-5] - <== Updates: 0

图片说明
图片说明

大家都是成年人,贴出你的 SmbmsbillQueryvo 看一下 就知有没有

参数传的不对…………

字打错了

您好,mybatis我也遇到很多坑。从你的代码来看,你update传的是一个叫SmbmsbillQueryvo的对象,
就是不知道 字段 smbmsbillCustom 是不是SmbmsbillQueryvo对象的一个对象属性,如果是的话,不知道smbmsbillCustom. 后面的字段是不是
smbmsbillCustom的属性。mybatis替换?的值应该是根据传入的 引用来取值的。
建议:1.如果 billCode, productname, proName, productcount 等字段是 SmbmsbillQueryvo 对象的Field,直接写即可
2.很明显你的情况不是第一种,在 SmbmsbillQueryvo 对象中 找出含billCode, productname, proName, productcount 等Field的对象的Field,然后使用你上面的那种写法

参数传值为null~!!看一下你滴参数类型是smbmsbillqueryvo~!!对象是smbmsbillcustom~!!检查一下smbmsbillcustom对象和smbmsbillqueryvo类型中滴对象名是否相同~!!

而且你的代码有两个缺点:1.没有注释 2.controller层不应该存在Service层的异常

 DEBUG [http-apr-8080-exec-5] - ==> Parameters: null, null, null, null, null, null, null

传进来的参数都是空,打个断电看看vo对象里面的值是否为空,如果不为空看下sqlmap里的参数名是否写对了

你把mybatis中的smbmsbillcustom 改为smbmsbillQueryvo 这样子就能读取出传递的数据了