在做ssm框架项目中,遇到对表中数据修改时,选中的行id值经过Controller层的方法后,所封装的user对象的id值自增1的问题。起初我怀疑Controller层传到下一个jsp页面时出现的问题,使得id自增1;后来debug调试发现问题出在ModelAndView的addObject上,比如封装前前是2,return出来的mv便是3。
最后修改了mapper.xml的查询方法。把select *改成了对应的字段。俩表连接查出来有两个id值,但现在的我还是不知道具体原因是什么,猜测可能是因为封装的user中有数据库表中多余的字段,使addObject()方法误认为是要新增个user对象。便使得id的值自增了1。
找到问题原因了
,原因是mybatis多表联查,多表中存在相同名字的字段。详情https://blog.csdn.net/qq_40588618/article/details/89519653连接详情