mybatis主表與明細表一對多的同時插入操作方法
對主表(采購申請表)和明細表(申請物資表)同時進行插入操作insert:

<!--對申請主表插入一條記錄 -->
<insert id="save" parameterType="com.bootdo.purchase.domain.ApplyDo" useGeneratedKeys="true" keyProperty="applyId">
INSERT INTO pur_apply
(apply_no,apply_depart_id,apply_person_id,apply_date,apply_estiamount,apply_status)
VALUES
(#{applyNo},
(SELECT dept_id FROM mat_department WHERE dept_name = #{deptName} ),
(SELECT sta_id FROM mat_staff WHERE sta_name = #{staName} ),
#{applyDate},#{applyEstiAmount},#{applyStatus})
<selectKey keyProperty="applyId" resultType="Integer" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
</insert>以上注:useGeneratedKeys="true" keyProperty="applyId" 或 <selectKey keyProperty="applyId" resultType="Integer" order="AFTER"> SELECT LAST_INSERT_ID() </selectKey>,可獲取數(shù)據(jù)表中的自增的apply_id存放在持久類ApplyDo中的屬性名applyId,applyId也是明細表對應(yīng)主表的外鍵,對應(yīng)持久類ApplyItemDo中的屬性名itemApplyId.
<!--對明細表插入單條記錄 -->
<insert id="saveDetail" parameterType="com.bootdo.purchase.domain.ApplyItemDo" >
INSERT INTO pur_apply_detail
(item_apply_id,item_name,item_type,item_number,item_unit,item_estiprice,item_purpose,item_demdate,item_remake)
VALUES
(#{itemApplyId},#{itemName},#{itemType},#{itemNumber},#{itemUnit},#{itemEstiprice},#{itemPurpose},#{itemDemdate},#{itemRemake})
</insert>ApplyServiceImpl.java:
@Autowired
public ApplyDao applyDao;
@Override
public int save(ApplyDo applyDo) {
//主表插入一條記錄
int count = applyDao.save(applyDo);
int count2 = 0;
int applyId = applyDo.getApplyId();
//明細表插入多條記錄
for(ApplyItemDo items : applyDo.getItemDoList() ){
items.setItemApplyId(applyId);
count2 = applyDao.saveDetail(items);
}
return count2;
}到此這篇關(guān)于mybatis主表與明細表一對多的同時插入操作方法的文章就介紹到這了,更多相關(guān)mybatis主表與明細表一對多同時插入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot+mybatis+redis 二級緩存問題實例詳解
Mybatis默認沒有開啟二級緩存,需要在全局配置(mybatis-config.xml)中開啟二級緩存。本文講述的是使用Redis作為緩存,與springboot、mybatis進行集成的方法。需要的朋友參考下吧2017-12-12
Spring Profile與PropertyPlaceholderConfigurer項目多環(huán)境配置切換
這篇文章主要介紹了Spring Profile與PropertyPlaceholderConfigurer項目多環(huán)境配置切換方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
使用IDEA搭建Hadoop開發(fā)環(huán)境的操作步驟(Window10為例)
經(jīng)過三次重裝,查閱無數(shù)資料后成功完成hadoop在win10上實現(xiàn)偽分布式集群,以及IDEA開發(fā)環(huán)境的搭建。一步一步跟著本文操作可以避免無數(shù)天坑2021-07-07

