SSM批量插入和修改实现实例
1.Service,自己对代码逻辑进行相应处理
/* 新增订单产品信息 */
List<DmsOrderProduct> insertOrderProductList = Lists.newArrayList();
for (DmsOrderProductVo op : orderVo.getProductList()) {
insertOrderProductList.add(op);
} /* 批量新增订单商品信息 */
if (!insertOrderProductList.isEmpty()) {
dmsOrderProductService.batchInsert(insertOrderProductList);
}
没写接口,自己处理下
1 @Override
public void batchInsert(List<DmsOrderProduct> orderProductList) {
dmsOrderProductMapper.batchInsert(orderProductList);
}
2.持久层
/**
* 批量新增订单产品信息
* @param orderProductList
*/
void batchInsert(List<DmsOrderProduct> orderProductList);
<!-- 批量新增订单产品信息 -->
<insert id="batchInsert" parameterType="java.util.List">
insert into dms_order_product
(
order_id, product_id, product_code, product_name, product_spec_id, spec_union_key, shoppingcart_id, unit, original_price,
price, count, return_count, status, promotion_product_id, promotion_subject, created_date, created_by,
last_updated_date, last_updated_by, remove_flag, weight, volume, short_name, spec_name
)
values
<foreach collection="list" index="index" item="item" separator=",">
(
#{item.orderId}, #{item.productId}, #{item.productCode}, #{item.productName}, #{item.productSpecId},
#{item.specUnionKey},#{item.shoppingcartId}, #{item.unit}, #{item.originalPrice}, #{item.price}, #{item.count},
#{item.returnCount}, #{item.status}, #{item.promotionProductId}, #{item.promotionSubject}, #{item.createdDate},
#{item.createdBy}, #{item.lastUpdatedDate}, #{item.lastUpdatedBy}, #{item.removeFlag}, #{item.weight}, #{item.volume},
#{item.shortName}, #{item.specName}
)
</foreach>
</insert>
细节方面需自己完善下
SSM批量插入和修改实现实例的更多相关文章
- Java:批量插入、修改数据到数据库中的用法
在java中使用JDBC实现批处理的对象一般是使用PrepareStatement对象. 如何使用: Class.forName("Oracle.jdbc.driver.OracleDriv ...
- SQLite批量插入,修改数据库 zt
SQLiteConnection sqConnection = dataProvider.GetDbConnection(); sqConnection.Open(); SQLiteCommand s ...
- sql 批量插入
create PROCEDURE insertinto as begindeclare @id int;set @id=1;while @id<10begininsert into perso ...
- 批量插入,批量修改的sql
sql 1 批量插入 <insert id="batchInsert" useGeneratedKeys="true" parameterType=&q ...
- oracle 在xml中批量插入,批量修改及多组条件查询
最近公司用ibatis开发项目,本来可以用存储过程处理批量插入,批量修改及多组条件查询:但由于使用模块相对较小,暂时就在xml中配置,以前没有在xml做过类似处理,有必要记录一下:好了,代码如下: & ...
- sqlServer MERGE 对数据进行修改或插入自动视别 特别用于批量数据的插入或修改
sqlServer MERGE 对数据进行修改或插入自动视别 特别用于批量数据的插入或修改 MERGE customer AS targetTable --目标表 USING ( ...
- .net批量更新(插入、修改、删除)数据库
思路: 1. 设置DataTable中每行的状态标识,即调用DataRow的方法setAdded().setModified().Delete() 2. 使用DataAdapter的Update(Da ...
- MySQL数据库表的数据插入、修改、删除、查询操作及实例应用
一.MySQL数据库表的数据插入.修改.删除和查询 CREATE DATABASE db0504; USE db0504; CREATE TABLE student ( sno ) NOT NULL ...
- Mybatis 实现批量插入和批量删除源码实例
Mybatis 实现批量插入数据和批量删除数据 学习内容: 准备工作 1.数据库新建表 2.新建 Maven 项目和设置编译版本及添加依赖 3.新建 db.properties 4.新建 mybati ...
随机推荐
- jquery实现简单瀑布流
瀑布流这个概念一直不是很理解,看到别人可以实现,自己弄了很久还是不能实现就很纠结.瀑布流这根刺就一直扎在我心里,一次偶然的机会看到别人实现了瀑布流,我想我是不是也应该再继续把这个未完成的任务画一个圆满 ...
- 聊聊 JDK 非阻塞队列源码(CAS实现)
正如上篇文章聊聊 JDK 阻塞队列源码(ReentrantLock实现)所说,队列在我们现实生活中队列随处可见,最经典的就是去银行办理业务,超市买东西排队等.今天楼主要讲的就是JDK中安全队列的另一种 ...
- vim 在 cmdline 内粘贴的方法
vim 在 cmdline 内粘贴的方法: 先按下 Ctrl-r ,然后选择从哪个剪贴板上粘贴 0 (yank register), 1 to 9 (shifting delete registers ...
- C++的可移植性和跨平台开发
概述 今天聊聊C++的可移植性问题.如果你平时使用C++进行开发,并且你对C++的可移植性问题不是非常清楚,那么我建议你看看这个系列.即使你目前没有跨平台开发的需要,了解可移植性方面的知识对你还是很有 ...
- WebGL 一
WebGL绘制窗口 <html><head><title>OpenGL Test</title> </head><body>&l ...
- jquery之链式调用,层级菜单
一. 链式调用的含义 jquery对象的方法会在执行完后返回这个jquery对象,所有jquery对象的方法可以连起来写: $('#div1') // id为div1的元素 .children('ul ...
- ubuntu下搭建Discuz
环境:我用桥接方式创建了一个ubuntu16的虚拟机,ip为192.168.0.220 1.安装mysql sudo apt-get install mysql-server mysql-cl ...
- Ionic2文档整理
来自:Rainey's Blog 原文地址:http://rainey.space/2016/04/06/Ionic2_Chinese_Document/ Github:https://github. ...
- TCP的超时与重传
一.引言 对于每个TCP连接,TCP管理4个不同的定时器 重传定时器用于当希望收到另一端的确认. 坚持 (persist) 定时器使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口. 保活 (ke ...
- mongo的持久化之Journaling
参考文章: http://database.51cto.com/art/201110/295772.htm http://blog.chinaunix.net/uid-15795819-id-3381 ...