使用useGeneratedKeys 和 keyProperty:添加完成后,Java Bean主键属性为自增后的值

  • useGeneratedKeys=“true” 平时默认都是false。表示不返回主键值

  • keyProperty=“id” 这里表示的是这个是表中的这个字段是主键值( keyProperty中对应的值是实体类的属性,而不是数据库的字段 )

<insert id="saveReturnPK1" parameterType="cn.saytime.domain.User" useGeneratedKeys="true" keyProperty="id">
     INSERT INTO `test`.`tb_user`(`username`, age) VALUES(#{username}, #{age})
 </insert>
 int saveReturnPK1(User user);
 // 形式1
 User user1 = new User();
 user1.setUsername("李四");
 user1.setAge(18);
 int c1 = userMapper.saveReturnPK1(user1);
 System.out.println("新增用户李四,返回主键:" + user1.getId() + "  操作数量:" + c1);

更多推荐

Mybatis插入数据后返回主键