6月10日(JDBC进行批处理,处理大数据文件)
2017-06-13 14:52
288 查看
1 JDBC进行批处理
1.1 为什么要用批处理?
一次操作只能发送一条sql语句到数据库服务器,效率并不高!如果要插入2000条记录,那么必须发送2000条sql语句。
现在:插入2000条记录,但现在使用sql缓存区,一次发送多条sql到数据库服务器执行。这种做法就叫做批处理。
类似于IO流,一次写出一个字节,显然效率效率并不高,所以使用缓存字节数组提高每 次写出的效率。
1.2 JDBC批处理的API
Statement批处理:void addBatch(String sql) 添加sql到缓存区(暂时不发送)
int[] executeBatch() 执行批处理命令。 发送所有缓存区的sql
void clearBatch() 清空sql缓存区
PreparedStatement批处理:
void addBatch() 添加参数到缓存区
int[] executeBatch() 执行批处理命令。 发送所有缓存区的sql
void clearBatch() 清空sql缓存区
案例:分别测试statement和preparedstatement使用和不使用批处理向学生表插入2000条数据
的效率
2 JDBC获取自增长值
3 JDBC处理大数据文件
3.1 什么是大容量
字符:存储字符内容: mysql:char(0-255) varchar(0-65535) 长度有限的。65535
大容量的字符字段:
mysql: text(64K) longtext(4G字符内容)
oracle : clob longclob
字节:
mysql: blob(65kb) mediumblob(16mb)
longblog(4GB)
oracle: blob
3.1 jdbc操作字符文件
案例:将一片新闻存入数据库读取新闻:
4 数据库事务
4.1 什么是事务?
所谓的事务,如果把多条sql语句看做一个事务,那么这个事务要么一起成功,要么一起失败!!4.2 mysql事务操作命令
set autocommit =0 / 1; 设置是否自动提交事务1: 表示自动提交事务,每执行一条sql语句,自动提交事务。
0: 表示关闭自动提交事务。
commit; 提交事务,一旦提交事务不能回滚
rollback; 回滚事务。回滚到事务的起始点。
4.3 jdbc事务操作
Connection.setAutoCommit(false) 开启事务Connection.commit(); 成功执行,最后提交事务
Connection.rollback(); 一旦遇到错误,回滚事务
银行转账案例:
4.4事务4大特性(面试中会被问到)
原子性:要么一起成功过,要么一起失败
一致性:数据库应该从一个一致性的状态到另一个一致性的状态,保持不变
隔离性:多个并发事务直接应该可以相互隔离
持久性:事务一旦提交,应该永久保持下来。
相关文章推荐
- JDBC进行处理大文件和批处理
- 复习课程jdbc:使用配置文件properties进行连接数据库,数据库存取图片,批处理,时间戳,事物回滚等等
- 在spring-config文件中对jdbc数据配置进行加密处理
- 使用批处理(bat)脚本对目录树下同种性质的目录或文件进行处理
- 在ASP.NET中进行文件处理(1)
- DOS批处理文件以及rma,rmeditor来进行分割rmvb
- [置顶] Android开发之将图片文件转化为字节数组字符串,并对其进行Base64编码处理
- web项目附件针对格式不同的文件进行处理
- MATLAB处理txt文本文件---数据格式要有规律性,否则要用编写特定方式进行读取
- C语言获取文件中单词并进行处理
- javaweb学习总结(三十六)——使用JDBC进行批处理
- Java语言操作FTP服务进行文件的处理
- 一个jdbc的例子(包含sql语句的批处理,事务处理,数据绑定prepare,)
- [bash] shell里简单输入文件的直接读取进行批处理rpmbuild
- JDBC 的事务处理与批处理
- Python3基础 os.path.basename 对一个路径字符串进行处理 返回 文件的名字
- 使用JDBC进行批处理
- 使用JDBC进行批处理
- java读取文件数据进行一些简单处理的例子