mybatis + mysql
<insert id="saveOrUpdate" parameterType="com.entity.xxxx">
<selectKey keyProperty="exField1" resultType="string" order="BEFORE">
select count(*) from bdip_workflow_detail where id_ = #{id}
</selectKey>
<if test="exField1 != 0">
update 表名
set model_id = #{modelId},xmmc=#{xmmc},cc_by = #{ccBy},cc_bys = #{ccBys},cc_name = #{ccName},cc_names = #{ccNames},status_ = #{status},receive_by = #{receiveBy},
receive_name = #{receiveName},create_name = #{createName},ex_field1 = #{exField1},
ex_field2 = #{exField2},ex_field3 = #{exField3},ex_field4 = #{exField4},
create_by = #{createBy},update_time = #{updateTime},enable_ = #{enable},vpids = #{vpids}
where id_ = #{id}
</if>
<if test="exField1==0">
insert into 表名
(id_,model_id,xmmc,cc_by,cc_bys,cc_name,cc_names,status_,receive_by,receive_name,
create_name,ex_field1,ex_field2,
ex_field3,ex_field4,create_by,create_time,enable_,vpids)
values(#{id},#{modelId},#{xmmc},#{ccBy},#{ccBys},#{ccName},#{ccNames},#{status},#{receiveBy},
#{receiveName},#{createName},#{exField1},
#{exField2},#{exField3},#{exField4},#{createBy},#{createTime},#{enable},#{vpids})
</if>
</insert>