`
icenows
  • 浏览: 57392 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类

MySQL中使用JDBC批量插入记录的一个细节

    博客分类:
  • Java
阅读更多

——参照网上提供的方法,但是有些细节性的问题总是容易被忘记。

以使用使用PreparedStatement为例,——Statement没有测试过

以下是我在程序中用到的一段代码:

pstmt=conn.prepareStatement("insert into " +configInfo.keywordsTable+"(id,news_id,tag_type,tag) values (0,?,1,?);");
for(int count=0;count<configinfo></configinfo> pstmt.setLong(1, news_id);
if(keyWords.get(count)!=null)
{pstmt.setString(2,keyWords.get(count));
// System.out.println(keyWords.get(count));
}
else
pstmt.setString(2,"");
pstmt.addBatch();
}
pstmt.executeBatch();
conn.commit();

需要注意的是,values (0,?,1,?);" ,最后的‘;’是必须有的,否则将会出现错误。

原因在于,MySQL是一条命令一条命令执行的,命令之间以‘;’进行分割,如果遗漏了分割符,将把所有操作作为一条命令来处理,自然就会出错。

分享到:
评论

相关推荐

    mysql-connector-java-5.1.6.rar

    MySQL Connector/J是MySQL数据库与Java应用程序之间通信的桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序。在本例中,我们讨论的是版本5.1.6的驱动,这是一个较早但仍然广泛使用的版本。这个...

    JDBC入门电子书

    2. **INSERT**:插入新记录,可以批量插入。 3. **UPDATE**:修改已存在的记录,使用WHERE子句指定修改条件。 4. **DELETE**:删除记录,同样需要WHERE子句。 5. **JOIN**:合并多个表的数据,如INNER JOIN、LEFT...

    JDBC数据同步

    - **事务管理**:为确保数据一致性,通常在同步操作中使用事务,一旦某一步失败,整个事务都将回滚。 - **错误处理**:必须处理可能出现的各种异常,如网络中断、数据库连接丢失等。 - **性能优化**:大量数据同步时...

    JDBC与Hibernate的比较

    Hibernate的`Iterator`可以在每次请求下一条记录时才从数据库中获取数据,减少了内存占用,但在实际应用中需要根据具体情况选择合适的策略。 - **批量操作**:对于批量创建或更新操作,Hibernate的性能也往往优于...

    数据导入插件elasticsearch-jdbc2.2

    Elasticsearch-JDBC是一个非常重要的工具,它使得我们可以方便地将关系型数据库如MySQL中的数据导入到Elasticsearch搜索引擎中,实现数据的实时同步和索引。这个插件是基于JDBC(Java Database Connectivity)接口...

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

    文档中提到了需要使用c3p0-*.*.*.*.jar以及mysql-connector-java-5.1.46.jar这两个jar包,前者是一个开源的数据库连接池,后者是MySQL官方提供的JDBC驱动程序。这些jar包能够帮助我们在Java应用中建立和管理数据库...

    java web和mysql的经典案列

    在本案例中提到的工厂模式,是一种创建型设计模式,用于提供一个创建对象的接口,但允许子类决定实例化哪一个类。在数据库访问中,我们可以使用数据库连接工厂来创建数据库连接对象,隔离了数据库连接的创建细节。 ...

    MySQL增删改查工具类.zip

    MySQL增删改查工具类是面向Java开发者的一个实用工具,它简化了数据库操作,特别是针对MySQL数据库的插入、删除、更新和查询等基本操作。在Java编程中,直接操作数据库通常涉及大量的SQL语句编写,这既繁琐又容易...

    Access转出到Mysql,咱自己动手丰衣足食.. -- 纯JS代码

    4. **批量插入MySQL**:将转换后的数据分批写入MySQL,避免因一次性插入大量数据导致的性能问题。可以设置合适的批次大小,比如每次插入1000条记录。 5. **错误处理**:在整个过程中,应有充分的错误处理机制,如...

    SpringJdbcTemplate封装工具类

    例如,大量数据的批量插入可能更适合使用JdbcTemplate的`batchUpdate()`方法,或者直接使用JDBC的PreparedStatement来提高效率。 9. **最佳实践** - 保持SQL语句简洁,避免在业务代码中混杂复杂的SQL。 - 避免...

    一个通用从数据库导出excel、excel导入数据库组件所用到的jar包

    “导入导出”是这个组件的核心功能,允许开发者将数据库中的记录转换成Excel文件,或者将Excel文件中的数据批量插入到数据库中。 "jar"标签表示这是一个Java Archive,是Java平台的标准打包格式,包含Java类、资源...

    批量业务 batchAddSubscriber_prc.sql

    但是,我可以提供一个通用的批量插入用户到数据库的SQL语法示例: ```sql INSERT INTO subscribers (username, email, subscription_date) VALUES ('user1', 'user1@example.com', NOW()), ('user2', 'user2@...

    数据库之间的数据传递

    在IT行业中,数据库之间的数据传递是一项常见的任务,特别是在企业级应用中,可能需要将数据从一个数据库系统迁移到另一个,或者实现跨系统的数据同步。在这个场景中,我们使用Java编程语言来实现MySQL与SQL Server...

    DatabaseClient:一个操作MYSQL数据库的maven项目

    5. **MySQL JDBC驱动**: MySQL提供了一个JDBC驱动(也称为Connector/J),它是Java应用程序连接MySQL数据库的桥梁。`DatabaseClient`项目中,开发者可能已经将这个驱动添加为Maven依赖,以便程序能正确地连接到MySQL...

    超市供销存管理系统,超市管理系统,供销存管理系统,进销存,JAVA+MySQL毕业设计.zip

    4. **性能优化**:通过索引优化、批量插入、事务处理等手段提高系统运行效率,减少数据库操作的开销。 总结,超市供销存管理系统是JAVA与MySQL结合的典型应用实例,它有效整合了超市的供应链流程,实现了信息化管理...

    java中Excel导入数据库

    - 如果数据量大,考虑使用批量插入(`PreparedStatement`的`addBatch()`和`executeBatch()`方法)以提高效率。 5. **执行SQL语句** - 创建`PreparedStatement`对象,设置SQL参数,然后执行SQL语句。使用`...

    CSV文件解析

    2. **创建PreparedStatement**:根据CSV列的数量和类型,创建一个`PreparedStatement`来执行批量插入语句。 ```java PreparedStatement pstmt = conn.prepareStatement("INSERT INTO your_table (col1, col2, ...)...

    springboot将excel存入mysqldemo

    在IT行业中,Spring Boot是一个非常流行的Java开发框架,它简化了Spring应用的初始搭建以及开发过程。本示例“springboot将excel存入mysqldemo”是关于如何使用Spring Boot来读取Excel数据并将其存储到MySQL数据库中...

    报文日志文件入库实例---XML解析

    5. **批量插入优化**:为了提高效率,可以采用批量插入的方式,将多个日志条目一次性写入数据库。这可以通过在SQL语句中使用`VALUES`子句的多个括号来实现,或者在Java代码中先将数据存入集合,然后批量提交。 6. *...

Global site tag (gtag.js) - Google Analytics