spring+mybatis对数据库的修改

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

使用spring与mybatis根据名字修改数据库,但没有修改成功,传入的参数也很奇怪

img

customer 没有作为参数传入到相应方法中,
实际上只有 customerService.updateCustomer() 起作用,也就是这几行代码只能更新 用户名。
如果要一次更新多个字段,需 调整 updateCustomer()方法 引用Entity对象 才行。

img

customerService.updateCustomer() 只传了"ddd",customer压根就没有使用。
如果想把username = 'ddd' 修改为 username = '李四'
需要把customer和‘ddd’都传到 customerService.updateCustomer()里,对应的mapper也需要进行修改
方案1:updateCustomer()由 updateCustomer(String username) 修改为 updateCustomer(Customer customer,String username)
方案2:给Customer 对象再增加一个字段,username2,让username2 = ‘ddd’ ,sql语句修改为 update t_customer set userName=#{userName1} where userName=#{userName2}

mybaits部分呢

按住Ctrl点进service 的updatecustom()方法,看里面的逻辑

很明显你的 where 条件传错了 where username=李四 ,你现在是 =ddd 本来就没有这条记录

customer你都没传进去。。。

怎么没有改成? 没看到你写的sql update 表名 set userName=? where userName=?

你都是用userName去作参数 。