Mybatis+MySQL插入数据后返回主键

注意:本文并不全面,只解决有限的应用场景。但是本人实验成功。
1.Mybatis的Mapper.xml定义

<insert id="addUser" parameterType="user" > 
      <selectKey resultType="int" keyProperty="id">
          SELECT LAST_INSERT_ID()
      </selectKey>
          insert into user (
            username
            )values (
            #{username}
            )
</insert>

说明

parameterType:参数user需要在typeAlias中定义对应的实体类(User)。
keyProperty:参数id需对应实体类(User)的属性,也是user表的主键。
resultType:数据类型要与实体类(User)对应的数据类型一致。

2.JAVA调用

public int saveUser(User user)throws Exception{
         dao.save("Mapper.addUser", user);
         return user.getId();//这里需要这么写,比较重要
    }

说明

dao:调用的mybatis是自身的insert方法,返回值就是int类型

总结
解决问题的办法有很多种,但是不能总去百度,随手记录,用的时候搜索自己的目录就行了。

你可能感兴趣的:(mysql,mybatis)