Mysql - last_insert_id的使用

前言:
select last_insert_id语句的作用是返回自增长的最后插入的数据的ID。

实现方法:
1、在Mapper上加入@SelectKey:

	@Insert("INSERT INTO application ( apId, uId, applicantSN, apApplicant, apApplicantPhone, apBeginTime, apOverTime, apContent, apNote, apSubmitTime, apState, apAcademy, apResult ) VALUES (#{apId}, #{uId}, #{applicantSN}, #{apApplicant}, #{apApplicantPhone}, #{apBeginTime}, #{apOverTime}, #{apContent}, #{apNote}, #{apSubmitTime}, #{apState}, #{apAcademy}, #{apResult})")
    @SelectKey(keyProperty = "apId",keyColumn = "apId",resultType = int.class,before = false,statement = "select last_insert_id()")
    int saveAndGetLastId(Application application);

然后此时获得返回值里的id就是自增长的id(没加之前是0)
在这里插入图片描述
这时候,一般直接getApId就能拿到值了

但是,因为我的返回值是json格式,直接用getApId返回的是null,所以这时候需要先对json数据进行处理。
思路一:先获得返回的result,然后将result转成实体类,然后再getApId

                Result result = DatabaseUtil.insert(application,"application","insert");
                Toast.makeText(BorrowApplicationActivity.this,"提交成功",Toast.LENGTH_SHORT).show();
                //查询刚才存进去的application的Id,存到applicationlist里,方便后期级联删除
                Application application1 = DatabaseUtil.getEntity(result,Application.class);

思路二:直接将json格式的数据解析,然后获得apId。网上有很多解析的教程,就不写了。

猜你喜欢

转载自blog.csdn.net/zzzzzwbetter/article/details/130063438
今日推荐