JDBC 其二(加强)批处理,大数据处理,事务
来源:互联网 发布:java图形界面放视频 编辑:程序博客网 时间:2024/05/16 17:30
JDBC进行批处理
1.使用批处理的原因:
之前一次操作只能发送一条sql语句到数据库服务器,效率并不高。假如我们要发送2000条数据,那么必须发送2000条数据。所以现在可以使用sql缓存区,一次发送多条sql到数据库服务器执行,这种操作就叫做批处理。
2.JDBC批处理的API:
(1)Statement批处理:
- 1
- 2
- 3
- 1
- 2
- 3
利用Statement进行批处理:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
(2)PreparedStatement:
- 1
- 2
- 3
- 1
- 2
- 3
利用Statement进行批处理:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
JDBC获取自增长值
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
JDBC处理大容量的数据
1.大容量:
(1)字符:
存储字符内容:MySQL:char(0-255),varchar(0-65535)长度有限。大容量的字符字段:
*MySQL:text(64k) longtext(4G字符内容)
*Oracle:clob longclob
(2)字节:
*MySQL:blob(65KB) mediumbolb(16MB) longblob(4GB)*Oracle:blob
2.JDBC操作字符文件:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
3.JDBC操作字节文件:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
注意: MySQL数据库默认情况下,只能存储不超过1m的文件,由于max_allowed_packet变量的限制。
解决 : 可以修改: %mysql%/my.ini文件, 修改或添加max_allowed_packet变量,然后重启mysql即可。
数据库的事务处理
1.定义
事务: 把多条sql语句看做一个事务,这个事务要么全部做,要么全部不做(要么一起成功,要么一起失败)。
2.MySQL事务操作命令:
set autocommit =0 / 1;
:设置是否自动提交事务 1: 表示自动提交事务,每执行一条sql语句,自动提交事务。
0: 表示关闭自动提交事务。
commit;
:提交事务,一旦提交事务不能回滚 rollback;
: 回滚事务。回滚到事务的起始点。3.JDBC事务操作:
Connection.setAutoCommit(false)
: 开启事务 Connection.commit();
: 成功执行,最后提交事务 Connection.rollback();
: 一旦遇到错误,回滚事务需求:模拟银行转账,weide问james借2000块钱。
图解:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
分析:假设张JamesWeide账户里本来都是5000块钱,Weide问James借2000块钱,则应该James账户减2000,Weide账户增加2000,然而如果转账事务执行过程中出现异常,例如:int i =10/0;
这个运行时期异常,James账户此时已经减了2000块钱,而Weide账户还没有增加2000块钱,出现了异常,所以回滚到事务开始的地方,两人账户都还是5000块钱。
如果没有出现什么异常,事务顺利执行,则银行转账操作执行成功,James账户减2000,Weide账户增加2000。
4.事务4大特性:
原子性: 要么一起成功,要么一起失败。一致性: 数据库应该从一个一致性的状态到另一个一致性的状态,保持不变。
隔离性: 多个并发事务直接应该可以相互隔离。
持久性: 事务一旦提交,应该永久保持下来。
阅读全文
0 0
- JDBC 其二(加强)批处理,大数据处理,事务
- JDBC批处理、事务、自动增长、大文本
- Day21- JDBC事务(JDBC加强)
- JDBC(二)--批处理/JDBC获取自增长值/处理大数据文件/事务
- JDBC 学习笔记(二)—— 大数据+存储过程+批处理+事务
- day13 JDBC 基础 事务控制 大数据 批处理
- JDBC事务和批处理
- jdbc大数据处理
- jdbc批处理大数据
- jdbc批处理大数据
- 【JDBC】——【大文本、二进制、批处理、获取自动生成主键、事务、事务的隔离级别】
- jdbc批处理的事务控制
- JDBC存储过程、批处理、事务
- 【JDBC笔记】JDBC的批处理、事务等
- JDBC 之插入Blob(图片)& 批处理 & 数据库事务
- JDBC大文本数据处理浅谈
- web 学习笔记15-JDBC大数据 批处理 存储过程 事务
- JDBC处理大数据批处理
- JVM调优总结(十二)-参考资料
- c++远征之继承篇——多重继承,多继承,虚继承,多继承时的重复定义解决方法
- 分布式框架简介SSM组合+ springmvc+mybatis+shiro+restful+bootstrap
- iOS 获取随机字符串
- I2C总线简单总结
- JDBC 其二(加强)批处理,大数据处理,事务
- Gan相关知识拓展
- 1055. 集体照 (25)
- mui自定义日期的起始时间为当前时间,只能选择当前之后的时间
- c++的引用
- IE11 Windows7下F12 DOC资源管理器不能用Exception in window.onload: Error: An error has ocurredJSPlugin.3005
- maven私服Nexus
- 滑动布局margin-left
- 图说函数模板右值引用参数(T&&)类型推导规则(C++11)