mybatis insert返回主键

使用springboot整合shiro写demo的时候发现一个问题,当我在使用mybatis的insert标签时,

 <insert id="addUser" useGeneratedKeys="true" keyProperty="userid" >

插入一点问题也没有,但是当我们拿到userid的时候永远是1,因为它返回的是插入成功的数量

   Integer addUser(@Param("user") User user);

这是mapper接口。再百度上找了很多以后都没有解决,有的说要用注解里的带号+“.”属性,keyProperty=“user.userid”形式,但是依然返回值是插入数,
最后在简书上看到一篇文章,我们使用javabean作为参数使用insert标签的时候,mybatis会自动的把需要的主键注入到参数的javabean里面,所所以我们在使用的时候不需要integer,直接拿到user.getUserid();
我们看最后的代码

 <insert id="addUser" useGeneratedKeys="true" keyProperty="user.userid" parameterType="online.zzy.springbootmybatis.beans.User">
        insert into user (username,password) values (#{
    
    user.username},#{
    
    user.password});
  </insert>
    Integer addUser(@Param("user") User user);
shiroDao.addUser(user);
        System.out.println(user);

输出结果
User{userid=27, username=‘zzy1’, password=‘456456’, authority=null}

猜你喜欢

转载自blog.csdn.net/qq_27275851/article/details/94396738
今日推荐