上代码:
<insert id="addMember">
insert into member (mbname,email,password,birthday,phonenumber)
values(#{mbName},#{email},#{password},#{birthday},#{phoneNumber})
</insert>
这是一段Mybatis的xml文件,我们会在控制层通过服务处间接的调用这个方法,我们会根据它的返回值来判断是否成功,insert语句会返回一个受影响的行数,但是测试后发现,它返回了null,但是数据是插入成功的。
这是因为我们的id使用了自增,所以我们没有给他设置,这里就涉及到了主键自增问题
详细的可以看https://blog.csdn.net/cxycxytony/article/details/107174522
这里只说一种解决办法:
<insert id="addMember" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into member (mbname,email,password,birthday,phonenumber)
values(#{mbName},#{email},#{password},#{birthday},#{phoneNumber})
</insert>
因为insert的返回值是根据主键形成的,并且我们数据库里的这个字段是自增的,所以我们需要让它的id的字段和id属性值保持一致,这样就可以得到我们想要的返回值。