1、mybatis ID回写:开发过程中存在这一的业务,业务对象本身是一张表,业务对象对应扩展信息是另一张表,这里在新增的时候需要先相 业务对象表插入一条数据,然后再像业务对象扩展表插入扩展信息,这里就用到了 mybaitis中的 id回写
列子:
session.insert("mm.xxx", map);// 插入业务对象信息
对应sql
<insert id="xxx" parameterType="java.util.Map">
<selectKey resultType="java.lang.Long" keyProperty="backId" order="BEFORE">
SELECT SEQ_id.NEXTVAL AS backId FROM DUAL
</selectKey>
INSERT INTO 业务对象表(
id,...
)
values(
#{backId },...
)
</insert>
经过第一步后,mybaitis自动回把 backId 回写到传入的map中。
下面代码中所传入的 map 自动包含了 新增业务对象的id 也就是backId
session.insert("mm.yyy", map);// 保存扩展对象信息
转载于:https://blog.51cto.com/5070780/1570397