没有合适的资源?快使用搜索试试~ 我知道了~
JDBC批量插入 更新 删除等操作
3星 · 超过75%的资源 需积分: 50 66 下载量 201 浏览量
2012-03-23
00:40:54
上传
评论 6
收藏 58KB DOC 举报
温馨提示
试读
5页
一、JDBC的批量插入 一、JDBC的批量更新 一、JDBC的批量删除 一、JDBC的批量修改
资源推荐
资源详情
资源评论
一、JDBC 的批量插入
JDBC 批量插入主要用于数据导入和日志记录因为日志一般都是先写在文件下
的等。
我用 Mysql 5.1.5 的 JDBC driver 分别对三种比较常用的方法做了测试
方法一,使用 PreparedStatement 加批量的方法
1. try{
2. Class.forName("com.mysql.jdbc.Driver");
3. conn=DriverManager.getConnection(o_url,userName,pa
ssword);
4. conn.setAutoCommit(false);
5. Stringsql="INSERTadlogs(ip,website,yyyymmdd,hour,ob
ject_id)VALUES(?,?,?,?,?)";
6. PreparedStatementprest=conn.prepareStatement(sql,Re
sultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ON
LY);
7. for(intx=0;x<size;x++){
8. prest.setString(1,"192.168.1.1");
9. prest.setString(2,"localhost");
10. prest.setString(3,"20081009");
11. prest.setInt(4,8);
12. prest.setString(5,"11111111");
13. prest.addBatch();
14. }
15. prest.executeBatch();
16. conn.commit();
17. conn.close();
18. }catch(SQLExceptionex){
19. Logger.getLogger(MyLogger.class.getName()).log(Level.SE
VERE,null,ex);
20. }catch(ClassNotFoundExceptionex){
21. Logger.getLogger(MyLogger.class.getName()).log(Level.S
EVERE,null,ex);
22. }
说明下在建 Statement 的时候,后面两个参数的意义:
第一个参数指定 ResultSet 的类型。其选项有:
TYPE_FORWARD_ONLY:缺省类型。只允许向前访问一次,并且不会受到其
他用户对该数据库所作更改的影响。
TYPE_SCROLL_INSENSITIVE:允许在列表中向前或向后移动,甚至可以进行
特定定位,例如移至列表中的第四个记录或者从当前位置向后移动两个记录。
不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 一样,允许
rpc1900
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页