数据库批处理


友情提醒:
先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。

第一章、批处理介绍

1.1)批处理的起源

①批处理(Batch),也称为批处理脚本。在计算机系统还是DOS(磁盘操作系统是一种早期的命令行操作系统)时期时被大量使用,用来对某对象进行批量的处理,通常被认为是一种简化的脚本语言,现在它应用于DOS和Windows系统中。批处理文件的扩展名为.bat(即是batch的缩写)简称 BAT文件 。

②在Windows NT以后的平台中,还加入了以.cmd为扩展名的批处理文件,其性能比.bat文件更加优越,执行也与.bat文件一样方便快捷。

1.2)什么是数据库的批处理

批处理(batch) 操作数据库,批处理指的是一次操作中执行多条SQL语句。
没有使用批处理:执行1000条sql,需打开1000次连接关闭1000连接。
使用批处理:1000条sql打包发送给服务器,一次执行这1000条sql,减少与数据库的交互,提高程序的效率。
批处理过程主要分两步:
①保存将执行的SQL语句
②执行保存的SQL语句

1.3)具体如何实现批处理?

第一步:打开mysql的批处理:

: url=jdbc:mysql://127.0.0.1:3306/db5?characterEncoding=UTF-8&rewriteBatchedStatements=true

第二步:使用Statement接口或者Preparedstatement接口
①主要方法:

增加批处理:addBatch​(String sql) 将要执行的SQL先保存在当前命令列表中,先不执行

执行批处理:int[] executeBatch() 执行SQL语句,将批处理中所有SQL语句执行,
返回一个数组,这个数组是说明每条命令所影响的行数

清空批处理:clearBatch() : 清空当前批处理的语句

②PreparedStatement与Statement的介绍区别
两者都是用来执行SQL语句的。
1.Statement:不能进行预编译,不安全,不能使用占位符会发生SQL注入攻击。
2.PreparedStatement:能够将SQL语句预编译,从而提高执行效率。PreparedStatement接口继承了Statement接口,可以防止sql注入,通过参数化查询的方式,将参数值作为参数传递给SQL语句,从而避免了SQL注入攻击。

③使用 PreparedStatement 执行批处理,在多次调用 addBatch() 方法时,传入不同的 SQL 语句即可。

String sql = "INSERT INTO users(uname, uage) VALUES(?,?)";
PreparedStatement prest = conn.prepareStatement(sql);
for(int i=0; i<=100; i++){
    prest .setString(1, "user"+i);
    prest .setInt(2, i);
    prest .addBatch();
}
int[] results = ps.executeBatch();

第二章、Spring Batch数据批处理

2.1)Spring Batch是什么

Spring Batch是一个是一个轻量级的框架,适用于处理一些灵活并没有到海量的数据。
读取或者写入大量的记录,位置可以是数据库、消息队列(MQ)或者文件

具体的看这篇文章吧:Spring Batch(1)——数据批处理概念

我自己的话以后用到再来学。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值