`
cuishuangjia
  • 浏览: 156963 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

实验3种JDBC插入数据效率

 
阅读更多
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;


public class test3 {
    
    public void test1(){
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
            conn.setAutoCommit(false);
            Statement stat=conn.createStatement();
            Long startTime=System.currentTimeMillis();
            for(int i=0;i<10000;i++){
                stat.execute("insert into test1 values("+i+")");
            }
            long endTime=System.currentTimeMillis();
            System.out.println(endTime-startTime);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
   
    public void test2(){
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
            conn.setAutoCommit(false);
            PreparedStatement stat = conn.prepareStatement("insert into test1 values(?)");
            Long startTime=System.currentTimeMillis();
            for(int i=0;i<10000;i++){
                stat.setObject(1, i);
                stat.execute();
            }
            conn.commit();
            long endTime=System.currentTimeMillis();
            System.out.println(endTime-startTime);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
   
    public void test3(){
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
            conn.setAutoCommit(false);
            PreparedStatement stat = conn.prepareStatement("insert into test1 values(?)");
            Long startTime=System.currentTimeMillis();
            for(int i=0;i<10000;i++){
                stat.setObject(1, i);
                stat.addBatch();
            }
            stat.clearBatch();
            stat.executeBatch();
            conn.commit();
            long endTime=System.currentTimeMillis();
            System.out.println(endTime-startTime);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
   
    public static void main(String [] aaa) throws Exception{
        new test3().test1();
        new test3().test2();
        new test3().test3();
    }

}


通过上面这个实验
结果是
Statement  3672
PreparedStatement 2391
PreparedStatement+批处理 15

效率显而易见,在大数据的情况下 第3种相当的效率


查看评论
    更多评论(0)

    移动版|桌面版

    ©1999-2012, CSDN.NET, All Rights Reserved

    分享到:
    评论

    相关推荐

      JavaJDBC实验

      在实验中,你可以尝试实现一个简单的数据库连接示例,如创建表、插入数据、查询数据和更新数据等操作,从而对JDBC有更深入的理解。 通过这个实验,初学者不仅可以熟悉JDBC的基本操作,还能理解数据库连接的概念,...

      实验5JDBC实验.rar_java jdbc

      - **JDBC驱动**:JDBC驱动是Java应用程序与数据库之间通信的桥梁,分为四种类型:JDBC-ODBC桥接驱动、网络协议驱动、API包装器驱动和本地协议驱动。 - **数据库连接**:使用`DriverManager.getConnection()`方法...

      java高级程序设计实验指导书 -实验三-jdbc.doc

      2. **SQL语句的编写**:包括创建表、插入数据、查询数据等操作。 3. **Statement或PreparedStatement对象**:用于执行SQL语句,PreparedStatement更安全,能防止SQL注入。 4. **结果集(ResultSet)**:存储查询结果...

      对jdbc的封装的总结

      例如,它可能包含了创建表、插入数据或者更新数据的语句。在封装的JDBC代码中,可以设计一个方法读取这个文件,逐条执行其中的SQL,方便数据库的初始化和测试。 总结起来,对JDBC的封装是提高Java应用数据库操作...

      实验7-通过JDBC访问数据库.doc

      ### 实验7-通过JDBC访问数据库 #### 实验目的 - **理解数据库访问的基本原理:**通过本实验的学习,学生能够深入理解数据库存储的特点、数据库访问的基本概念和方法,尤其是掌握Java数据库连接(JDBC)的核心概念...

      JDBC_实验资料.zip

      - JDBC驱动:JDBC驱动是Java应用程序与数据库之间的桥梁,分为四种类型:Type 1、Type 2、Type 3和Type 4,从低到高提供不同的性能和功能。 - `java.sql.DriverManager`:这是最基础的JDBC驱动管理类,用于加载...

      java向mysql中插入150万条数据比较索引表的优势

      例如,以下代码展示了如何批量插入数据: ```java String sql = "INSERT INTO table_name (column1, column2) VALUES (?, ?)"; PreparedStatement pstmt = connection.prepareStatement(sql); for (Data data : ...

      JDBC连接数据库实例+附源码

      1. 创建名为`student`的数据库,以及包含`studentNo`和`studentName`字段的`student`表,并插入实验数据。 2. 在Java项目中引入MySQL的JDBC驱动包(例如mysql-connector-java-8.0.16.jar),创建相应的包结构。 3. ...

      基于JDBC的学生信息管理系统

      【基于JDBC的学生信息管理系统】是一个使用Java编程语言开发的应用程序,主要目的是管理和操作学生相关的数据。这个系统利用了Java的JDBC(Java Database Connectivity)技术来与MySQL数据库进行交互,实现了对...

      5 JDBC的使用

      JDBC是Java平台上的标准SQL数据库访问接口,它为Java开发者提供了一种统一的方式来连接和操作各种关系型数据库。JDBC的核心组件包括`Connection`、`Statement`、`PreparedStatement`、`CallableStatement`以及`...

      星环大数据平台_Hyperbase基本用法.pdf

      本知识点旨在介绍Hyperbase的基础操作方法,内容涵盖了创建表、插入数据、读取数据、修改表属性、表的分裂与压缩以及导出表属性等基本用法。 1. 进入Hyperbase命令行:首先需要启动TDHClient,然后使用hbaseshell...

      Spring使用JDBC做的增删改查

      在Java开发中,Spring框架是不可或缺的一部分,尤其在企业级应用中,它提供了丰富的功能,包括依赖注入、AOP...在实际项目中,根据需求选择合适的方式来使用Spring JDBC,可以大大提高开发效率,减少出错的可能性。

      学生成绩管理系统实验报告(内含JAVA程序,是连接数据库的,用的是JDBC技术)

      学生成绩管理系统是一种常见的软件应用,它主要用于存储、管理和分析学生的学业成绩,为教师提供便捷的数据统计和分析工具。在本实验中,我们利用Java语言和JDBC(Java Database Connectivity)技术来实现这样一个...

      数据库系统概论的实验报告(王珊 萨师煊版)

      实验报告3 - "ODBC":ODBC(Open Database Connectivity)是一种数据库访问标准,允许应用程序通过统一接口与各种不同的数据库进行通信。实验可能涵盖ODBC数据源的创建、配置和使用,以及如何通过ODBC驱动程序执行...

      数据库系统应用与开发--实验四.doc

      本实验旨在帮助学生深入理解JDBC的基础知识以及如何利用它进行数据的增、删、改操作,同时涵盖事务控制。 **一、JDBC基本概念** 1. **JDBC驱动**:JDBC驱动是Java程序与数据库之间的桥梁,分为四种类型:JDBC-ODBC...

      哈工大数据库实验三 实验代码

      在实验中,学生可能会学习如何使用JDBC来执行SQL语句,包括连接数据库、创建表、插入数据、查询数据、更新数据以及删除数据。 实验代码中可能包含以下关键知识点: 1. **JDBC连接**:使用`DriverManager.get...

      hualinux spring 3.16:Spring对JDBC的支持.pdf

      在进行JDBC实验配置及连接测试之前,需要创建测试用的MySQL数据库和表。文中提到了创建一个名为employees的表,并插入了一些初始数据用于后续的测试操作。同时,还需要配置单元测试环境,这里使用的是JUnit测试框架...

      JSP+SQL实验室管理系统

      在这个信息化的时代,利用先进的技术和工具进行实验室管理,能显著提高工作效率,确保实验数据的安全与准确性。本文将深入探讨基于JSP+SQL技术构建的实验室管理系统,阐述其核心功能和实现原理。 首先,JSP(Java...

    Global site tag (gtag.js) - Google Analytics