如何实现向数据库批量添加多条数据

1.如何实现向数据库批量添加多条数据

集合list有对应

mapper.xml文件

<insert id="inserts">
        insert into expensedetail(expenseid,extypeid,money,costdesc) values
        <foreach collection="list" item="detail" separator=",">
            (#{detail.expenseid},#{detail.extypeid},#{detail.money},#{detail.costdesc})
        </foreach>
</insert>

ServiceImpl

@Override
public void append(Integer[] extypeids, Integer[] moneys, String[] costdescs, Expense expense) {
    List<ExpenseDetail> list=new ArrayList<>();
    //
    for(int i=0;i<extypeids.length;i++)
    {
        ExpenseDetail detail=new ExpenseDetail();
        detail.setExpenseid(expense.getExpenseid());
        detail.setExtypeid(extypeids[i]);
        detail.setMoney(moneys[i]);
        detail.setCostdesc(costdescs[i]);
        //
        list.add(detail);
    }
    //
    this.expenseDetailMapper.inserts(list);
}

你可能感兴趣的:(数据库)