mybatis中批量写入(insert)数据

本文介绍了在Oracle数据库环境下,使用SSM(Spring、SpringMVC、Mybatis)框架进行批量数据插入的方法。通过示例展示了如何根据条件从A表筛选数据并按特定字段排序,插入到B表中,同时处理数据重复和使用GROUP BY进行聚合操作。示例中包含单表和多表联查的批量插入语句。
摘要由CSDN通过智能技术生成

在介绍批量写入数据时,我先介绍本次项目使用的数据库,这是基于oracle数据库写的,框架用的是ssm(struct2,spring,mybatis)。学起来比较方便、简单,前面编写的业务逻辑只是简单的方法调用。为了批量处理数据,提高软件的运行速度,主要的数据处理还是在mapper层写的。

首先,介绍批量写入数据吧,当我们需要从一个表中提取需要的数据,写到例外一张表中时,例如:根据所给条件将A表的数据,写到B表中,且按照A表中的c属性降序排列。其中id号是自动生成sys_guid ,时间是根据数据库当前所在的服务器的系统时间生成 sysdate,系统是24小时制。

insert  into  B(id , name , sex ,date , num , c ,sum ,  ....)

select sys_guid , name , sex , (sysdate ,'YYYY-MM-DD HH24:mi:ss') , num , c ,sum.... from A 

where A.c=#{c,jdbcType=VARCHAR}

order by c desc

这是简单的批量写入数据库的语句我们在这个基础上继续增加条件,就是A表的数据可能存在重复,且需要根据name,sex,c计算A表中各个数据的和。

在写之前,我还是先介绍下group by 的语法吧。

group by 语句是可以和合计函数一起使用,且group by 在组合需要的数据时,凡是select出的列,没有进行其他的操作的时候,都必须加到group by中。列子下面可以看出

那么我们可以这么写

insert  into  B(id , name , sex ,d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值