关于myBatis嵌套foreach

本文介绍了在项目中如何使用myBatis的嵌套foreach实现从JSON数据批量插入多个表的操作,重点讲解了Java代码处理JSON和mapper文件中动态SQL的使用,特别是#{data.${item.name}}的语法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目遇到一个需求:

从JSON里解析数据后,批量插入到数据库(重点在于不是只针对一个表操作,而是根据json里的表名和字段来动态插入),数据库用的Oracle;

下面贴代码

 

java代码

//dataStr为
 

{ 
"tbl_pe_enterprise_record":[{"RECORD_ID":"1","AP_CHN_ADDRESS":"shachong","APPLY_DATE":"2019/12/31"},{"RECORD_ID":"2","AP_CHN_ADDRESS":"shachong2","APPLY_DATE":"2019/12/31"}],

"tbl_pe_imex_pestcert_r_rs":
[{"PDRGID":"1","PDRGNO":"shachong","PDBEGINDAY":"2019/12/31"},{"PDRGID":"2","PDRGNO":"shachong2","PDBEGINDAY":"2019/12/31"}]
}

Map<String, List<Map<String, String>>> dataListMap = 
JSON.parseObject(dataStr, new TypeReference<Map<String, List<Map<String, String>>>>() {});
        Set<Map.Entry<String, List<Map<String, String>>>> entries = dataListMap.entrySet();
        for (Map.Entry<String, List<Map<String, String>>> en
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值