mybatis insert into mysql with auto_increment key

mybatis版本 : 3.2.8

其实很简单,之前想复杂了。。。

mybatis插入自增id的记录后,传入的POJO会自动更新id的值为插入后的结果

(目前只测了id,其他字段如果不给定值,不知是否更新,有待测试)

记录如下:

User.xml

<insert id="create" parameterType="User" useGeneratedKeys="true" keyProperty="id">
   INSERT INTO t_user(<include refid="all_property"/>)
   VALUES (#{createTime}, #{mobile}, #{email},#{QQ})
</insert>

IUserMapper.java 

void create(User user);

Test 代码

@Test
   public void testCreate() {

      SqlSession session = DBUtil.getSqlSession();

      IUserMapper userMapper = session.getMapper(IUserMapper.class);

      User user = userMapper.find("18910000012");

//    user.setId(0L);
      user.setMobile("18900121033");

      userMapper.create(user);

      System.out.println(user.getId());

      session.commit();

      DBUtil.close(session);
   }

结果(返回的 ID):15

其他情况如何获取id还有待实验,这种传入pojo的方式很简单,不需要 <selectKey />(我也没通过这个标签得到过id)


转载于:https://my.oschina.net/cwzhang/blog/480037

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值