spring boot整合Mybatis批量添加操作

注意问题:

1.dao层别忘了@mapper注解

2.@Param(“entities”)List entities别忘了@Param

作用是让xml,识别你的集合

一、controller 层调用service层的接口

@Slf4j
@RestController
@RequestMapping("接口")
public class TabZmmo3110MaterialDataController {
    /**
     * 服务对象
     */
    @Resource
    private TabZmmo3110MaterialDataService tabZmmo3110MaterialDataService;


    @PostMapping("地址")
    @ResponseBody
    public void getHistoryBill(@RequestBody String object) {
        System.out.print(object);
        log.info("------------call------------");
        if (StringUtils.isNotEmpty(object)) {
            JSONObject jsonObject = JSONObject.parseObject(object);
            JSONObject tb_out = jsonObject.getJSONObject("TB_OUT");
            if(tb_out != null&& StringUtils.isNotEmpty(tb_out.getString("ITEMS"))) {
                List<TabZmmo3110MaterialData> entitys = JSONObject.parseArray(tb_out.getString("ITEMS"), TabZmmo3110MaterialData.class);
                int num=tabZmmo3110MaterialDataService.insertManyZmmo3110MaterialData(entitys);
            }
        }
    }
}

二、service层的接口

    /**
     * 批量新增数据(MyBatis原生foreach方法)
     *
     * @param entities List<TabZmmo3110MaterialData> 实例对象列表
     * @return 影响行数
     */
    int insertManyZmmo3110MaterialData(@Param("entities") List<TabZmmo3110MaterialData> entities);

三、serviceimpl层的实现

    /**
     * 批量新增数据(MyBatis原生foreach方法)
     *
     * @param entities List<TabZmmo3110MaterialData> 实例对象列表
     * @return 影响行数
     */
    @Override
    public int insertManyZmmo3110MaterialData(List<TabZmmo3110MaterialData> entities) {
        return tabZmmo3110MaterialDataDao.insertManyZmmo3110MaterialData(entities);
    }

四、dao层

    /**
     * 批量新增数据(MyBatis原生foreach方法)
     *
     * @param entities List<TabZmmo3110MaterialData> 实例对象列表
     * @return 影响行数
     */
    int insertManyZmmo3110MaterialData(@Param("entities")List<TabZmmo3110MaterialData> entities);

五、dao.xml的sql

   <insert id="insertManyZmmo3110MaterialData" keyProperty="id" useGeneratedKeys="true">
        insert into tab_zmmo3110_material_data(
        matnr, maktx, werks, mvgr1, mvgr2, mvgr3, maktl, wgbez, mvgr4, bezei4, bonus, vtext, bezei1, bezei2, bezei3
        )
        values
        <foreach collection="entities" item="entity" separator=",">
            (
            #{entity.matnr},
            #{entity.maktx},
            #{entity.werks},
            #{entity.mvgr1},
            #{entity.mvgr2},
            #{entity.mvgr3},
            #{entity.maktl},
            #{entity.wgbez},
            #{entity.mvgr4},
            #{entity.bezei4},
            #{entity.bonus},
            #{entity.vtext},
            #{entity.bezei1},
            #{entity.bezei2},
            #{entity.bezei3}
            )
        </foreach>
    </insert>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值