在事务中获取第一张表的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