`
bdk82924
  • 浏览: 552442 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JDBC使用addBatch一次插入 万条数据

阅读更多
public class Conn
{

    public static void main(String[] args) throws SQLException
    {
        Connection conn = getConnection();
        show(conn);
        // addBatch(con);
        conn.close();
    }

    public static void addBatch(Connection conn) throws SQLException
    {
        PreparedStatement pre = null;
        String sql = "insert into s values(?,?)";
        pre = conn.prepareStatement(sql);
        // pre.setInt(1, 10);
        // pre.setString(2, "name" + 10);
        // pre.executeUpdate();
        pre = conn.prepareStatement(sql);
        for (int i = 10; i < 20; i++)
        {
            pre.setInt(1, i);
            pre.setString(2, "name" + i);
            pre.addBatch();
            if (i % 2 == 0)
            {
                pre.executeBatch();
                pre.clearParameters();
            }
        }
        pre.executeBatch();

        pre.close();
        conn.commit();

    }

    public static void show(Connection conn) throws SQLException
    {
        String sql = "select * from s ";
        PreparedStatement pre = null;
        pre = conn.prepareStatement(sql);
        ResultSet rs = pre.executeQuery();
        while (rs.next())
        {
            System.out.println(rs.getString(1) + rs.getString(2));
        }

    }

    public static Connection getConnection()
    {
        String ClassforName = "oracle.jdbc.driver.OracleDriver";
        String SERVandDB = "jdbc:oracle:thin:@10.164.75.166:1521:infox"; // "DataSource,DataName不能用
        String USER = "bdk"; // 用户名
        String PWD = "bdk"; // 密码
        Connection conn = null;
        try
        {
            Class.forName(ClassforName).newInstance();
            conn = DriverManager.getConnection(SERVandDB, USER, PWD);
            conn.setAutoCommit(false);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return conn;
    }

}
 
分享到:
评论

相关推荐

    jdbc连接数据库的方式2

    下面是使用JDBC连接MySql的一个小的教程 1、查找驱动程序 MySQL目前提供的java驱动程序为Connection/J,可以从MySQL官方网站下载,并找到mysql-connector-java-3.0.15-ga-bin.jar文件,此驱动程序为纯java驱动...

    100万级数据插入测试

    100万级数据插入 总结目前网上的spring batchUpdate方法,和jdbc PreparedStatement的addBatch,及insert的2种插入方式引起的效率差别,我的博客中有说明!

    使用JDBC在MySQL数据库中如何快速批量插入数据

    使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(10W+),如何提高效率呢? 在JDBC编程接口中Statement 有两个方法特别值得注意: void addBatch() throws SQLException Adds a set of ...

    【IT十八掌徐培成】Java基础第23天-03.ppst-addBatch-executeBatch.zip

    【IT十八掌徐培成】Java基础第23天-03.ppst-addBatch-executeBatch.zip

    jdbc基础和参考

    1.写一条恒成立的select语句,无论你输入的条件是什么,总是能讲表中的所有数据输出 select id,last_name from s_emp where '1' ='1'; where 1=1; findByOption(Integer age,String province,String gender){ ...

    Oracle addBatch()用法实例详解

    PreparedStatement.addbatch()的使用 Statement和PreparedStatement的区别就不多废话了,直接说PreparedStatement最重要的addbatch()结构的使用. 1.建立链接  Connection connection =getConnection(); 2.不...

    批量处理JDBC语句提高处理速度

    有时候JDBC运行得不够快,这使得有些程序员使用数据库... 使用批量处理功能涉及下面的两个方法: · addBatch(String) 方法 · executeBatch方法 如果你正在使用Statement 那么addBatch 方法可以接受一个通

    MySQL数据库

    3. 如果涉及批量执行多条SQL时 使用PreparedStatement执行效率较高 - 如果SQL中没有变量用Statement 有变量用PreparedStatement ###批量操作 - Statement批量操作: statement.addBatch(sql1); statement....

    【IT十八掌徐培成】Java基础第23天-03.ppst-addBatch-executeBatch - 副本.zip

    【IT十八掌徐培成】Java基础第23天-03.ppst-addBatch-executeBatch - 副本.zip

    java的轻量级orm工具包jdao.zip

    jdao有支持事务,支持批量插入数据等特性。同时jdao底层数据库操作提供接口,编程人员可以自己实现。 如果你觉得hibernate,ibatis等orm框架过于笨重,不烦试下jdao,它可以在团队开发中规范团队持久层代码,较少...

    java面试800题

    Q0049 一个有序数组和一个无序数组,从无序数组中取出每条记录与有序数组比较,如果符合条件,把无序数组中的值加入到有序数组中,问这是什么排序? 插入排序法 Q0050 程序与进程的区别? 程序是为了完成某种任务...

    sql2005 批量更新问题的解决方法

    … sm.executeBatch() 用Statement的好处就是每次可以直接传一个SQL语句进去,不用管那么多。可是在数据量比较大的时候,应该会对效率有影响。不建议使用。 PreparedStatement ps = cn.preparedStatement(sql); { ...

    Hibernate管理Session和批量操作分析

    主要介绍了Hibernate管理Session和批量操作的技巧,包括Hibernate管理Session、批量处理数据等的常用技巧及注意事项,具有一定的参考借鉴价值,需要的朋友可以参考下

    NC开发文档

    session.addBatch(sql); //添加需要执行的同构SQL int rows = session.executeBatch(); //执行 b.有参批量更新 String sql = "update bd_deptdoc set dept_code =„aaa‟ where dept_code=?”; SQLParameter param =...

    MongoUtils工具类实现

    封装mong关联查询api接口,如addBatch()、delete()、exists()、lookUp()等接口 public void delete(Query query , Object obj , String collectionName){ mongoTemplate.remove(query, obj .getClass(), ...

    servlet制作网站

    stat.addBatch(o.toString()); } stat.executeBatch(); conn.commit(); sign = true; } catch (Exception ex) { conn.rollback(); sign = false; ex.printStackTrace(); } finally { ...

    servlet+jsp+javaBean开发的网站书店(完整源码)

    pstmt_item.addBatch(); } pstmt_item.executeBatch(); dbUtil.getCon().commit(); } catch (SQLException e) { e.printStackTrace(); try { dbUtil.getCon().rollback(); } catch ...

    誓言:Node.js的异步BDD和连续测试

    除非遵守许可,否则不得使用此文件。 您可以在以下位置获得许可的副本: 除非适用法律要求或以书面形式同意,否则根据“许可”分发的软件将按“原样”分发,不存在任何明示或暗示的保证或条件。 有关许可下特定的...

    火车票管理系统

    sta.addBatch("insert into ticket(ticketNumber,trainNumber,trainDate,startStation,endStation,"+ "price,carriageNum,seatNum,type,grade,userId) values ('"+ ticket.getTicketNumber()+"','"+ ticket....

Global site tag (gtag.js) - Google Analytics