主要就是用
<selectKey resultType="java.lang.String" keyProperty="id" order="BEFORE">
SELECT newid() from dual
</selectKey>
再插入之前获取新的id,插入的时候插入本条获取的id ( #{id})
之后service层调用mapper插入成功之后,Dept对象里就会有对应的id,可直接获取。
<!-- 插入一条机构信息 -->
<insert id="insertOne" parameterType="cn.wwkj.pms.basis.entity.po.Dept">
<selectKey resultType="java.lang.String" keyProperty="id" order="BEFORE">
SELECT newid() from dual
</selectKey>
insert into sys_dept
<trim prefix="(" suffix=")" suffixOverrides=",">
id,
code,
name,
type_id,
pid,
year,
idx,
<if test="remark != null and remark != ''">
remark
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
#{id},
#{code},
#{name},
#{typeId},
#{pid},
#{year},
#{idx},
<if test="remark != null and remark != ''">
#{remark},
</if>
</trim>
</insert>
实际运用:
mapper接口:
Integer add(ProjectPreBill projectPreBill);
mapper.xml:
<!--添加-->
<insert id="add" parameterType="cn.wwkj.pms.predict.entity.po.ProjectPreBill">
<selectKey resultType="java.lang.String" keyProperty="id" order="BEFORE">
SELECT newid() from dual
</selectKey>
insert into PROJ_PRE_BILL(ID,PROJ_ID,CODE,NAME,EN_ID,EN_PID,BS_ID,BSG_ID,BSI_ID,PCT_ID,PTT_ID,PGT_ID,MU_ID,B_DATE,E_DATE,MANAGER,CONTACT,TEL,ADDR,CU_ID,YEAR,BGOV,BCITY)
values(#{id},#{projId},#{code},#{name},#{enId},#{enPid},#{bsId},#{bsgId},#{bsiId},#{pctId},#{pttId},#{pgtId},#{muId},#{bDate},#{eDate},#{manager},#{contact},#{tel},#{addr},#{cuId},#{year},#{bgov},#{bcity})
</insert>
service调用:插入成功会输出id
@Override
public Integer add(ProjectPreBill projectPreBill) {
int row = projectPreBillMapper.add(projectPreBill);
System.out.print(projectPreBill);
return row;
}
版权声明:本文为weixin_43996168原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。