mybatis insert into mysql with auto_increment key

mybatis版本 : 3.2.8java

其實很簡單,以前想複雜了。。。session

mybatis插入自增id的記錄後,傳入的POJO會自動更新id的值爲插入後的結果mybatis

(目前只測了id,其餘字段若是不給定值,不知是否更新,有待測試)app

記錄以下:測試

User.xmlspa

<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 code

void create(User user);

Test 代碼
xml

@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):15get

其餘狀況如何獲取id還有待實驗,這種傳入pojo的方式很簡單,不須要 <selectKey />(我也沒經過這個標籤獲得過id)it

相關文章
相關標籤/搜索