`

jdbc批量插入,数据只有一条

阅读更多

PreparedStatement定义要在for外面,定义具有占位符的statement,for中只负责设参数值。
示例代码:

 public int insertTCollectionBatched(List<TCollection> list) {
        Connection conn = ConnectionPool.getConnection();
        PreparedStatement stat = null;
        ResultSet rs = null;
        String sql = "INSERT INTO table" + 
        + " (ParentID, ScanTime, ExtParam1, ExtParam2)" +
                " VALUES (?,?,?,?)";
        try {
            conn.setAutoCommit(false);
            stat = conn.prepareStatement(sql);
            int[] counts = {};
            for(TCollection collection:list){
                setPropertyValue(collection, stat);
                stat.addBatch();
            }

            counts = stat.executeBatch();
            conn.commit();
            return counts.length;
        }catch(Exception e){
            LogUtil.error(e);
        }finally{
            ConnectionPool.attemptClose(rs, stat, conn);
        }

        return 0 ;
    }

SQL占位参数设值代码:

 private void setPropertyValue(TCollection collection, PreparedStatement stat)
            throws SQLException {
    //根据属性值是否传入,设置SQL INT类型参数,未传递的设置默认值,避免SQL异常
    if(collection.getParentId()!=null){
        stat.setInt(1, collection.getParentId());
    }else{
        stat.setInt(1, 0);
    }

    if(collection.getScanTime()!=null){
        stat.setString(2, collection.getScanTime());
    }else{
        stat.setString(2, DateTimeUtil.nowAsString());
    }

    //必须非空
    stat.setString(3, collection.getParam1());
    stat.setString(4, collection.getParam2());
}
jdbc批量插入,数据只有一条 
分享到:
评论

相关推荐

    JDBC批量插入 更新 删除等操作

    #### 一、JDBC批量插入 JDBC(Java Database Connectivity)是Java平台中用来标准地连接数据库的技术。通过JDBC,Java应用程序可以与多种类型的数据库进行交互,实现数据的读取、写入等功能。批量操作是指在一次...

    jdbc-批量插入数据

    本文将深入探讨如何使用JDBC进行批量插入数据,这在处理大量数据时能显著提高性能。 批量插入数据是数据库操作中常见的一种优化策略,特别是在数据分析、数据迁移或大数据处理等场景。传统的单条插入方式可能会导致...

    Mybatis与JDBC批量插入MySQL数据库性能测试

    在批量插入场景下,JDBC提供了Statement对象的addBatch()和executeBatch()方法,可以将多条插入语句一次性提交,减少与数据库的交互次数,从而提高效率。 Mybatis是一个轻量级的持久层框架,它简化了JDBC的复杂性,...

    jdbc批量插入大字段

    在实际应用中,"batchinsert"可能是一个包含示例代码的文件,展示了如何使用JDBC批量插入Blob字段的具体实现。通过研究和理解这些代码,你可以更好地掌握批量插入Blob数据的技巧,并根据自己的需求进行调整和优化。 ...

    java实现jdbc批量插入数据

    总结来说,JDBC批量插入数据可以通过PreparedStatement、Statement或直接执行多条SQL语句来实现。PreparedStatement提供了预编译和参数化的优点,更适合大数据量操作。在进行性能优化时,还应考虑设置合适的批处理...

    三种JDBC批量插入编程方法的比较

    总结来说,选择JDBC批量插入方法应基于数据插入的特性和需求。PreparedStatement适合动态参数,Statement适用于静态SQL,CallableStatement用于存储过程。理解它们的优缺点以及正确使用方式,能有效提升数据库操作的...

    jdbc批量操作数据分析与实例

    通过上述分析可知,JDBC批量插入相比于逐条插入具有显著的性能优势。特别是在处理大量数据时,批量插入能够显著提升数据处理的效率。同时,合理的批量大小设置对于充分发挥批量插入的优势至关重要。在实际项目开发中...

    批量插入大量数据

    批量插入是将多个INSERT语句合并成一个大的INSERT语句,或者通过编程语言提供的API一次性提交多行数据。这样可以减少与数据库服务器之间的交互次数,从而提高性能。例如,在SQL中,你可以使用`INSERT INTO table_...

    EasyExcel 并发读取文件字段并进行校验,数据写入到新文件,批量插入数据到数据库

    5. **批量插入数据到数据库** 在数据处理过程中,往往还需要将数据批量插入到数据库。EasyExcel提供了一个`executeBatchInsert`方法,可以配合JDBC或其他ORM框架如MyBatis,将数据批量插入到数据库。首先,我们需要...

    jdbc批量 (绝对经典)

    ### JDBC批量操作详解:效率与性能的提升策略 在数据库操作中,批量处理是一种常见的优化技术,用于提高数据处理的效率和性能。JDBC(Java Database Connectivity)作为Java应用程序与数据库交互的标准API,提供了...

    Java使用JDBC向MySQL数据库批次插入10W条数据(测试效率)

    本文将详细讲解如何使用JDBC批量插入10万条数据,并探讨其背后的原理和优化策略。 批量处理在JDBC中主要通过Statement对象的`addBatch()`和`executeBatch()`两个方法实现。在示例代码中,我们创建了一个`...

    利用poi获取excel数据批量插入大量数据到mysql

    总结,本教程介绍了如何使用Apache POI读取Excel数据并借助JDBC批量插入到MySQL数据库的方法。这种方法适用于需要从Excel数据源导入大量数据到关系型数据库的场景,能够有效地提高数据处理的效率。在实际应用中,...

    Mybatis 3+Mysql 实现批量插入

    在IT领域,尤其是在数据库操作与框架应用中,批量插入数据是一项常见且重要的需求。相比于单条插入,批量插入能够显著提升数据处理效率,减少数据库I/O操作,从而提高整体性能。本文将深入探讨如何利用MyBatis框架...

    SpringJDBC批量处理数据代码示例

    在Java开发中,Spring JDBC是Spring...总的来说,Spring JDBC提供了强大的批量处理能力,通过`NamedParameterJdbcTemplate`的`batchUpdate`方法,我们可以轻松地实现数据的批量插入和更新,有效提升数据库操作的效率。

    MSSQL批量插入数据优化详细

    在SQL Server中,批量插入数据是一项重要的性能优化技术,尤其当需要处理大量数据时。本文将探讨如何在MSSQL中高效地批量插入数据,并针对给出的代码示例进行分析和优化。 首先,我们来看一个常见的批量插入方法,...

    oracle数据库中批量插入问题

    在Oracle数据库中,批量插入数据是一项关键技能,尤其在处理大量数据时,它能显著提高数据操作效率。本文将深入探讨Oracle数据库中的批量插入技术,包括其原理、实现方法以及一个具体的C#代码示例。 ### Oracle批量...

    java代码oracle数据库批量插入

    这段Java代码通过JDBC实现了向Oracle数据库批量插入数据的功能。关键步骤包括:建立数据库连接、准备SQL语句、批量添加SQL语句到批处理队列、执行批处理以及事务提交。这种方式相比于逐条插入数据,可以显著提升插入...

    JDBC的批量处理数据

    批量处理允许一次性发送多个SQL语句到数据库,而不是一条一条地执行,从而减少了网络通信的开销,提升了整体性能。 在JDBC中,批量处理主要分为两种类型:预编译语句的批量处理和非预编译语句的批量处理。预编译...

    kettle批量插入hive2,解决表输出速度慢问题

    - 通过查看后端Spark界面的SQL语句提交情况,确认数据插入方式是否已由单条插入变更为批量插入。 #### 三、总结 通过以上步骤,我们可以成功地修改Kettle big-data-plugin插件的源码,使其支持对Hive2数据库的...

    dbutils + oracle 增删改查批量插入示例

    通常,批量插入是通过将多条SQL插入语句组合成一个大语句来实现的,dbutils提供了一个便捷的方法来处理这种情况。例如,使用`QueryRunner`的`batch`方法,可以一次性提交多条SQL,减少了网络通信和数据库解析的开销...

Global site tag (gtag.js) - Google Analytics