mybastis 批量插入

1.插入的sql语句

insert into table_name (cloum1,cloum2,cloum3) values
(value1,value2,value3),
(value1,value2,value3),
.....

2.java代码

// web层
package com.test.order.web;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.test.demo.service.UserService;

@Controller
public class UserController {

	@Autowired
	private OrderService orderService;

	public void saveOrderBatch(List<Map<String, Object>> list){
		
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("list", list);
		int n = orderService.insertOrderBatch(map);
		if(n>0){
			logger.info("Batch insert Order SUCCESS ,order info: 批量插入订单记录成功");
				
		} else {		
			logger.info("Batch insert Order FAILD");
		}
	}
}

// service层
package com.test.order.service;

import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


@Service
public class OrderService{
	public int insertOrderBatch(Map<String, Object> map){
		return dao.insertOrderBatch(map);
	}
}	
// dao层
package com.test.order.dao;


import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;


/**
 
* 订单DAO接口
 
*/

@Repository
public interface OrderDao{

	public int insertOrderBatch(Map<String, Object> map);

}

3.mapping 文件

            <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.test.dao.OrderDao">

<insert id ="insertOrderBatch" parameterType="java.util.Map" >
        INSERT INTO drug_order(
	  id,order_no,prescription_id,parchaser_id,pharmacy_id,chainshop_id,
	  user_id,authorization_id,create_by,create_date,update_by,update_date,
	  del_flag,extfiled_1,extfiled_2,extfiled_3,extfiled_4,extfiled_5,extfiled_6
     ) VALUES 
     <foreach collection ="list" item="item" index= "index" separator =",">
       (
        REPLACE(UUID(), "-",''),
	#{item.orderNo},
	#{item.prescriptionId},
	#{item.parchaserId},
	#{item.pharmacyId},
	#{item.chainshopId},
	#{item.userId},
	#{item.authorizationId},
	#{item.userId},
	now(),
	#{item.userId},
	now(),
	'0',
	#{item.extfiled1},
	#{item.extfiled2},
	#{item.extfiled3},
	#{item.extfiled4},
	#{item.extfiled5},
	#{item.extfiled6}
       )
     </foreach >
  </insert >


</mapper>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值