`

一个针对BatchPreparedStatementSetter的代码

    博客分类:
  • Code
SQL 
阅读更多
是关于JdbcTemplate批量操作方法的, 很少用, 备注一下!
    public int[] batchUpdate(String jdbcTemplateId, String sql, final List<Map<String, String>> rows,
            final List<String> columnNames, final Map<String, String> columnTypes) throws Exception {
        JdbcTemplate jdbcTemplate = jdbcTemplates.get(jdbcTemplateId);
        BatchPreparedStatementSetter pss = new BatchPreparedStatementSetter() {
            
            public void setValues(PreparedStatement ps, int i) throws SQLException {
                Map<String, String> row = rows.get(i);

                if (DbUtils.isInvalidRow(row)) {
                    return;
                }

                int columnIndex = 0;
                for (String columnName : columnNames) {
                    Object value = DbUtils.convertValue(row, columnName, columnTypes);

                    ps.setObject(++columnIndex, value);
                }
            }
            
            public int getBatchSize() {
                return rows.size();
            }
        };
        return jdbcTemplate.batchUpdate(sql, pss);
    }
分享到:
评论
1 楼 gary0416 2010-08-11  
DbUtils代码能贴一下么

相关推荐

    BatchPreparedStatementSetter的用法.txt

    BatchPreparedStatementSetter的用法 一.创建表; 二.配置applicationcontext.xml; 三.创建类。

    JdbcTemplate的批量方法使用

    2. 接着,创建了一个`BatchPreparedStatementSetter`实例。这个接口用于设置`PreparedStatement`的参数值,以便于执行批量操作。在`setValues`方法中,每个`indicesDataList`的元素(假设为`NdsysIndicesdataM`对象...

    小码农的代码(一)----------SpringJDBC的使用

    首先,SpringJDBC提供了一个抽象层,它将传统的JDBC API封装起来,减少了手写模板代码的需求,使得数据库操作更加简洁、易读。通过使用Spring的JdbcTemplate和NamedParameterJdbcTemplate,开发者可以避免处理连接...

    Spring JdbcDaoSupport 批量插入数据

    在这个例子中,`batchInsert`方法接收一个实体列表,创建一个SQL插入语句,并使用`BatchPreparedStatementSetter`来设置每个实体的值。`getBatchSize`返回列表的大小,这将是执行的批次数量。 在`JdbcTemplate`内部...

    spring jdbc 实例源码

    在这个实例源码中,我们看到的是一个基于`epet`宠物项目的完整实现,该项目可能包括了创建、查询、更新和删除(CRUD)数据库记录的操作。这个项目不仅包含了源代码,还预设了完整的数据库,因此非常适合学习和理解...

    SpringJDBC.rar_SpringJDBC_jdbctemplate_jdbctemplate spring

    在Java的Spring框架中,Spring JDBC(Java Database Connectivity)是一个重要的模块,用于简化数据库操作。Spring JDBC通过提供JdbcTemplate和SimpleJdbcTemplate等工具类,帮助开发者以更安全、更易于管理的方式与...

    Spring JdbcTemplate api

    `RowMapper`接口用于将结果集中的每一行映射为一个对象,通过`JdbcTemplate.query(sql, params, MyRowMapper)`可以返回一个经过处理的对象列表。即使只是查询单条记录,也可以使用带有`RowMapper`的`query`方法,只...

    spring封装jdbc查询

    "spring封装jdbc查询"是Spring框架中的一个核心功能,旨在简化传统的JDBC(Java Database Connectivity)操作,提高代码的可读性和可维护性,同时减少数据库操作中的潜在错误。以下是对这个主题的详细阐述: 首先,...

    JdbcTemplate.rar

    **JdbcTemplate**是Spring框架中的一个核心组件,主要用于简化Java应用程序与数据库之间的交互。它提供了一种声明式的方式来执行SQL语句,使得开发者无需直接操作JDBC API,从而减少了代码量,提高了可读性和可维护...

    DbUtils.zip

    DbUtils是中国开源软件Apache Commons项目中的一个模块,全称为Apache Commons DbUtils,它是一个轻量级的数据库操作工具库,旨在简化Java应用程序对数据库的访问。DbUtils的主要目的是减轻开发人员处理数据库操作时...

    Just Spring Data Access

    - **SimpleJDBCInsertClass**:这个类提供了一个简单的方法来执行插入操作,它会自动构建SQL语句并处理参数绑定。 - **SimpleJdbcCallClass**:这个类则专门用于调用存储过程或函数,支持输入和输出参数的设置。 -...

    quest-spring-jdbc-insert

    【quest-spring-jdbc-insert】项目是一个专注于Spring JDBC插入操作的示例库,它展示了如何在Java应用程序中使用Spring框架的JDBC模块进行数据插入。这个项目对于学习和理解Spring JDBC的基本用法,以及如何有效地...

    Spring JdbcTemplate.batchUpdate 例子

    在Spring框架中,`JdbcTemplate`是用于简化Java数据库连接(JDBC)操作的一个核心组件。这个类提供了很多方法来执行SQL查询、更新语句,包括批处理操作。本篇文章将详细探讨`batchUpdate`方法及其在实际开发中的应用...

    mysql三种批量增加的性能分析

    其次,Spring的JdbcTemplate是JDBC的一个轻量级封装,它简化了数据库操作,提供了更安全、更易于使用的API。尽管JdbcTemplate在便利性上优于直接的JDBC,但在性能上与JDBC相近,因为它仍然依赖于底层的JDBC批处理...

    JdbcTemplateTool.zip

    可以直接把一个PO类存到数据库通过PO类和一个id可以获取到该对象通过PO类可以直接update数据库记录不需要实现 BatchPreparedStatementSetter, 就可以批量update通过一个对PO对象删除对应的数据库记录依然可以使用...

    SpringJDBC:Spring中的数据库操作

    `RowMapper`是一个接口,我们通常会实现它的`mapRow(ResultSet rs, int rowNum)`方法来将结果集中的每一行转换为所需的对象。 2. **参数化查询**:为了防止SQL注入,Spring提供了`queryForList(String sql, Object...

    SPRING API 2.0.CHM

    All Classes ...BatchPreparedStatementSetter BatchSqlUpdate BeanClassLoaderAware BeanComponentDefinition BeanConfigurerSupport BeanCreationException BeanCreationNotAllowedException ...

Global site tag (gtag.js) - Google Analytics