当前位置: 首页 > article >正文

数据库批处理

目录

  • 第一章、批处理介绍
    • 1.1)批处理的起源
    • 1.2)什么是数据库的批处理
    • 1.3)具体如何实现批处理?
  • 第二章、Spring Batch数据批处理
    • 2.1)Spring Batch是什么

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

第一章、批处理介绍

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)——数据批处理概念

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


http://www.kler.cn/news/107591.html

相关文章:

  • C++学习笔记之四(标准库、标准模板库、vector类)
  • slice()和splice()用法
  • 【笔录】TVP技术沙龙:寻宝AI时代
  • dd命令用法学习,是一个功能强大的工具
  • 走进人工智能的大门:打造职业梦想的契机
  • Vue+ElementUI项目打包部署到Ubuntu服务器中
  • C# 图解教程 第5版 —— 第11章 结构
  • Vue3问题:如何实现密码加密登录?前后端!
  • 查询和下载国自然科学基金
  • 算法——贪心算法
  • 适用于嵌入式arm的ffmpeg编解码
  • RedissonCach的源码流程
  • 视频转换器WinX HD Video Converter mac中文特点介绍
  • 在el-dialog中使用tinymce 点击工具栏下拉框被遮挡
  • 分享三个国内可用的免费GPT-AI网站
  • 学习笔记:Splay
  • RTOS编程中的原子操作
  • docker 常用指令
  • SpringAOP源码解析之advice执行顺序(三)
  • phar反序列化
  • ESP8266,手机与电脑之间的TCP通讯
  • 分享一个基于asp.net的供销社农产品商品销售系统的设计与实现(源码调试 lw开题报告ppt)
  • 客户端负载均衡策略:loadBalancer,ribbon
  • HDR图像处理软件 Photomatix Pro mac中文版新增功能
  • 解决Linux下编译Intel oneTBB动态库出错的问题
  • 【电路笔记】-交流电路中的功率
  • 统计学习方法 支持向量机(下)
  • JPA联合主键
  • 【数据结构】交换排序
  • 假如我有一台服务器