其他分享
首页 > 其他分享> > 在事务中获取第一张表的id

在事务中获取第一张表的id

作者:互联网

场景

在事务的执行方法中,我们同时要对两张表进行保存。并使用第一张表的id,作为第二张表的外键。但是在一个事务中必须等到方法执行完了才能在数据库中获取到id的值。这样就不能关联第二张表。

解决办法

持久层使用的是mybatis

sql语句的配置

主要配置 useGeneratedKeys =“true” keyProperty=“id”。
keyProperty="id"是生成id后对应存放的字段。

 <insert id="add" parameterType="com.wondertek.jtzq.model.app.BasicInfo" useGeneratedKeys ="true" keyProperty="id" >
        insert into at_basic_temp (app_id,app_name,cp_id,fst_class_id,sec_class_id,
            app_desc,create_time,update_time,create_by,update_by)
            values (#{appId},#{appName},#{cpId},#{fstClassId},#{secClassId}
            ,#{appDesc},#{createTime},#{updateTime},#{createBy},#{updateBy})
  </insert>

java代码

    atBasicTempMapper.add(basicInfo);
    System.out.println(basicInfo.getId());

标签:keyProperty,app,update,第一张,获取,basicInfo,class,id
来源: https://blog.csdn.net/qq_28461661/article/details/111056879