如何同时向两张表插入记录

sql语句中很难写或者没有同时插入两张表的sql语句,解决办法是在xml里写两个insert  sql语句,执行两个插入方法:

<insert id="com.app.multimedia.domain.TB0005_SNIMDT.insert"
parameterClass="TB0005_SNIMDT">
<![CDATA[
insert into TB0005_SNIMDT(snpccd,fltp,flspun,flclpr,flcltm,flsc,brfl,rm,flnm) 
values(#snpccd#,#fltp#,#flspun#,#flclpr#,#flcltm#,#flsc#,#brfl#,#rm#,#flnm#)
]]>
</insert>

<insert id="com.app.multimedia.domain.TB0005_SNIMDT.insert0007"
parameterClass="TB0005_SNIMDT">
<![CDATA[
insert into tb0007_enspin(snpccd,ennmcd) 
values(#snpccd#,#ennmcd#)
]]>
</insert>

两个插入方法:

public void insert(TB0005_SNIMDT obj) {
/**
* 增加到TB0001_PRNMSR
*/
tb0005_snimdtEntityDao.insert(obj);
tb0005_snimdtEntityDao.insert0007(obj);
}

第一个insert是父类IBatisGenericDao里面的insert方法;

/**

* 此方法描述的是:新增对象

* @Title: insert
* @author: philwilla@sina.com
* @param o
* @return
* @return Long 返回类型
* @version: 2013-5-10 上午10:09:35
*/
public Long insert(Object o) {
return (Long) getSqlMapClientTemplate().insert(
o.getClass().getName() + POSTFIX_INSERT, o);
}

第二个是根据上一个insert自己实现的方法:

public Long insert0007(TB0005_SNIMDT o){
return (Long)getSqlMapClientTemplate().insert(o.getClass().getName() + ".insert0007", o);
//super.insert(o);
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值