`
菜鸟级JAVA
  • 浏览: 96747 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

jdbcTemplate批量插入数据

    博客分类:
  • java
阅读更多
jdbcTemplate批量插入数据
public void buyTool(List<UserToolNew> userToolList) throws Exception {
final List<UserToolNew> intsertlist=new ArrayList<UserToolNew>();
if(!CollectionUtils.isEmpty(userToolList)){
intsertlist.addAll(userToolList);
}
final Calendar invalidateTimeCalendar = Calendar.getInstance();
invalidateTimeCalendar.add(Calendar.DAY_OF_MONTH, 30);
invalidateTimeCalendar.set(Calendar.HOUR_OF_DAY, 23);
invalidateTimeCalendar.set(Calendar.MINUTE, 59);
invalidateTimeCalendar.set(Calendar.SECOND, 59);
final Timestamp createTime = Timestamp.valueOf(
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
final Timestamp invalidateTime = Timestamp.valueOf(
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
format(invalidateTimeCalendar.getTime()));
if(!CollectionUtils.isEmpty(intsertlist)){
String insertSql="insert into yyff_user_tool("
+"user_id,tool_id,tool_pool_id,use_flag,own_type,fee,create_time,invalidate_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
jdbcTemplate.batchUpdate(insertSql, new BatchPreparedStatementSetter() {
public int getBatchSize() {
        return intsertlist.size();
        }
        public void setValues(PreparedStatement ps, int i)
throws SQLException {
            UserToolNew userTool=(UserToolNew)intsertlist.get(i);
            ps.setLong(1,userTool.getUserId());
            ps.setInt(2, userTool.getToolId());
            ps.setInt(3, userTool.getToolPoolId());
            ps.setString(4, "1");
            ps.setString(5, "1");
            ps.setInt(6, userTool.getFee());
            ps.setTimestamp(7,  createTime);
            ps.setTimestamp(8,  invalidateTime);
        }
});
}
}
分享到:
评论

相关推荐

    Spring JdbcDaoSupport 批量插入数据

    本文将深入探讨如何利用`JdbcDaoSupport`进行批量插入数据的操作,以及其背后的原理和源码分析。 首先,`JdbcDaoSupport`是`AbstractJdbcDaoSupport`的子类,它提供了对JDBC访问的便捷封装,允许开发者无需直接管理...

    SpringBoot JdbcTemplate批量操作的示例代码

    SpringBoot JdbcTemplate批量操作是提高数据处理效率的重要手段,尤其在处理大量数据插入或更新时。JdbcTemplate作为Spring框架的一部分,提供了便捷且安全的数据库访问方式,它简化了JDBC的使用,避免了手动管理...

    spring jdbc Templatetest 访问mysql数据库,批量插入数据

    本主题将详细讲解如何使用Spring JDBC Template访问MySQL数据库并进行批量插入数据的操作。 首先,我们需要在项目中引入Spring框架的相关依赖,通常包括`spring-context`和`spring-jdbc`。这些可以在Maven或Gradle...

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

    在Java的数据库编程中,JDBC(Java Database Connectivity)提供了多种方法来实现数据的批量插入,从而提高数据库操作的效率。本篇文章将深入探讨三种不同的JDBC批量插入编程方法,并进行对比分析,以帮助开发者更好...

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

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

    JdbcTemplate的批量方法使用

    在提供的代码段中,`batchInsertIndicesData`方法展示了如何使用`JdbcTemplate`来批量插入数据。 1. 首先,创建了一个SQL插入语句(`getInsertSql().toString()`)。 2. 接着,创建了一个`...

    MYSQL开发性能研究之批量插入数据的优化方法

    批量插入数据是一种常见的优化手段,能够显著提升数据插入的效率。本文主要探讨了在MySQL中如何通过批量插入优化性能,对比了几种不同的批量插入方法,并进行了实验验证。 首先,传统的单条插入方式在面对大量数据...

    Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站.htm

    Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站

    PostgreSQL实现批量插入、更新与合并操作的方法

    在PostgreSQL中,批量插入、更新和合并操作是数据库管理中常见的需求,尤其是在处理大量数据时。PostgreSQL提供了多种方法来实现这些操作,包括使用`INSERT ON CONFLICT`(也称为`UPSERT`)和`UNNEST`函数。 首先,...

    jdbctemplatedemo.zip

    对于数据导入,项目可能会包含读取文件(例如CSV或XML)中的数据,然后使用JdbcTemplate批量插入到MySQL数据库。这通常涉及解析文件,创建数据行的列表,然后使用`batchUpdate`方法将这些行作为批处理语句执行。...

    SpringJdbcTemplate封装工具类

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

    JdbcTemplate的事务控制.docx

    在这个例子中,我们使用了`JdbcTemplate`的`batchUpdate`方法来进行批量更新操作,并且在调用该方法之前关闭了`Connection`对象的自动提交功能。如果在执行过程中发生了异常,比如主键冲突导致的插入失败,那么所有...

    SpringJDBC批量处理数据代码示例

    参数: List&lt;Map&gt; paramMaps = new ArrayList(); for(int i = 0; i &lt; 100; i++ ){ Map paramMap = new HashMap(); paramMap.put(param1, param1);... paramMap.put(param2, param2);... paramMap.put(param5, param5

    JavaEE JdbcTemplate的简单示例

    同样,我们也可以使用JdbcTemplate查询数据。以下是一个查询示例: ```java public List&lt;User&gt; getUsers() { String sql = "SELECT * FROM users"; return jdbcTemplate.query(sql, new UserRowMapper()); } ...

    spring框架 jdbcTemplate

    JdbcTemplate会处理事务,确保数据完整地插入到数据库中。 7. **事务管理**: JdbcTemplate自动处理了数据库事务。如果在一组操作中发生异常,它会回滚事务,保护数据的完整性。我们可以通过编程式或者声明式的...

    使用Spring JDBCTemplate进行增删改查curd操作

    JdbcTemplate还支持批量操作,比如批量插入: ```java public void batchInsert(List&lt;User&gt; users) { List[]&gt; batchArgs = new ArrayList(); for (User user : users) { batchArgs.add(new Object[]{user....

    jdbcTemplate集锦很好的推荐

    - **批量操作**:支持批量插入、更新或删除数据。 - **复杂查询**:对于复杂的查询需求,`jdbcTemplate`提供了灵活的方法来处理。 - **事务管理**:配合Spring的事务管理功能,可以方便地实现数据库操作的原子性。 ...

    Spring框架实现Excel批量导入数据

    将验证过的数据以批量的方式插入到数据库中,可以显著提高性能。在Spring Boot项目中,可以使用@Transactional注解确保数据的原子性和一致性。 6. **异常处理和反馈**: 为了提供良好的用户体验,需要捕获并处理...

    spring jdbctemplate实例

    此外,JdbcTemplate还提供了其他高级功能,如批量操作、分页查询、存储过程调用等。同时,它也支持PreparedStatement,可以防止SQL注入攻击。对于性能要求较高的互联网应用,JdbcTemplate的这些特性使其成为理想的...

    使用javaJDBC连接hive数据,实现简单的操作!

    在成功连接后,你可以使用`Statement`对象执行HQL(Hive Query Language)命令,例如创建表、插入数据、查询等。例如: ```java // 插入数据 String insertQuery = "INSERT INTO test_table VALUES (1, 'John'), (2...

Global site tag (gtag.js) - Google Analytics