`

Spring中JdbcTemplate相关的几个接口

    博客分类:
  • Java
阅读更多

 

1、org.springframework.jdbc.core.PreparedStatementCreator
用JdbcTemplate提供的Connection创建PreparedStatement对象,子类需要提供SQL以及为PreparedStatement对象设置必要的参数。
PreparedStatementCreator psc = new PreparedStatementCreator(){
public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
         PreparedStatement pstmt = con.prepareStatement("select * from user where name=? and age=?");
         pstmt.setString(1, "lsy");
                pstmt.setInt(2, 24);
         return pstmt;
      }

};

2、接口org.springframework.jdbc.core.PreparedStatementSetter
用于PrepraredStatement对象动态设置参数,PrepraredStatement对象由JdbcTemplate对象创建。
jdbcTemplate.update("INSERT INTO USER VALUES(?, ?, ?, ?)",
                     new PreparedStatementSetter() {
                         public void setValues(PreparedStatement ps) throws SQLException {
                             ps.setString(1, id);
                             ps.setString(2, name);
                             ps.setString(3, sex);
                             ps.setInt(4, age);
                         }
                     });

3、org.springframework.jdbc.core.RowCallbackHandler
用于处理查询结果,获得ResultSet对象里的数据。 只处理一条数据。
final User user = new User();
jdbcTemplate.query("SELECT * FROM USER WHERE user_id = ?",
                    new Object[] {id},
                    new RowCallbackHandler() {
                        public void processRow(ResultSet rs) throws SQLException {
                            user.setId(rs.getString("user_id"));
                            user.setName(rs.getString("name"));
                            user.setSex(rs.getString("sex").charAt(0));
                            user.setAge(rs.getInt("age"));
                        }
                    });

4、org.springframework.jdbc.core.RowMapper
用于处理查询结果,获得ResultSet对象里的数据,把每一行的数据放在一个DTO对象里,然后由JdbcTemplate对象把所有DTO对象放在一个List。
class UserRowMapper implements RowMapper {
    public Object mapRow(ResultSet rs, int index) throws SQLException {
        User user = new User();

        user.setId(rs.getString("user_id"));
        user.setName(rs.getString("name"));
        user.setSex(rs.getString("sex").charAt(0));
        user.setAge(rs.getInt("age"));

        return user;
    }
}
String sql = "SELECT * FROM USER";
jdbcTemplate.query(sql, new RowMapperResultReader(new UserRowMapper()));

5、org.springframework.jdbc.core.ResultSetExtractor
需要执行ResultSet.next()方法。 便利resultset所有数据。
ResultSetExtractor rse = new ResultSetExtractor(){
public Object extractData(ResultSet rs) throws SQLException, DataAccessException {
         List list = new ArrayList();
         while(rs.next()) {
            list.add(new String[]{rs.getString("user_id"), rs.getString("name")});
         }
         return list;
      }

};
分享到:
评论

相关推荐

    strut2+spring+springjdbctemplate做的简易登录系统

    在登录验证时,Action类会调用Spring服务层的接口,这个接口可能是由Spring的依赖注入机制创建并注入到Action中的。 Spring框架在这个项目中起到了核心的作用。首先,它通过依赖注入管理各个组件,如DAO(数据访问...

    基于注解的Spring JdbcTemplate

    Spring JdbcTemplate的注解支持主要包含以下几个关键注解: - `@Query`: 用于定义SQL查询。可以包含静态或动态SQL,支持命名参数。 - `@Update`: 用于定义SQL更新语句。 - `@Insert`: 用于定义SQL插入语句。 - `@...

    Spring4--3.jdbcTemplate事务

    在Spring4中,JdbcTemplate与事务管理的结合主要体现在以下几个方面: - **事务回调**:可以使用TransactionCallback接口,在回调方法中执行数据库操作。Spring会自动在事务内部执行这个回调,确保事务的正确性。 ...

    jdbcTemplate相关jar包.zip

    1. 创建DataSource:DataSource是JDBC规范中的一个接口,用于获取数据库连接。Spring框架提供了多种实现,如BasicDataSource、TomcatDataSource等。 2. 获取JdbcTemplate实例:通过Spring容器或者@Autowired注解,...

    JdbcTemplate通用泛型Dao实现

    在Java的Spring框架中,`JdbcTemplate`是一个非常重要的组件,它为数据库操作提供了模板方法,简化了数据库访问。本文将深入探讨`JdbcTemplate`通用泛型Dao实现的相关知识点,帮助开发者更好地理解和应用这一技术。 ...

    spring简单模拟(面向抽象/接口编程)

    在Spring框架中,面向抽象编程体现在以下几个方面: 1. **依赖注入(DI)**:Spring的核心特性之一就是DI,它允许开发者声明性地配置组件间的依赖关系。在XML配置文件中,我们可以定义Bean的接口类型,而不是具体...

    spring-jdbc-4.2.4.RELEASE.jar,spring-tx-4.2.4.RELEASE.jar,jdbcTemplate使用的jar包

    `jdbcTemplate`的使用通常涉及到以下几个步骤: 1. 引入依赖:将上述两个jar包加入到项目类路径中。 2. 配置数据源:创建一个`DataSource`实例,这是`JdbcTemplate`操作数据库的基础。 3. 创建`JdbcTemplate`实例:...

    springmvc整合JdbcTemplate框架

    JdbcTemplate的使用主要涉及以下几个方面: 1. **配置JdbcTemplate**:在Spring配置文件中,我们需要定义一个JdbcTemplate bean,通常会注入DataSource。DataSource是连接数据库的关键,它负责管理数据库连接。例如...

    spring-jdbc源码

    在Spring-JDBC中,主要涉及以下几个关键组件: 1. DataSource:数据源是连接数据库的桥梁,Spring支持多种类型的DataSource,如BasicDataSource、JNDI查找等。数据源的配置是整个Spring-JDBC的基础。 2. ...

    spring的几个重要类和接口(详解)

    下面我们将对 Spring 框架中的几个重要类和接口进行详细解析。 1. DataSource 接口 DataSource 接口是 javax.sql 包下的一个接口,它提供了一个方法 getConnection(),该方法用于获取数据库连接。Spring 框架支持...

    spring的一个适合初学者的项目

    在Spring中,这通常涉及到以下几个关键知识点: 1. **Spring MVC**:Spring MVC是Spring框架的一部分,用于构建Web应用程序。在这个项目中,我们可能会看到Controller类,它们处理HTTP请求,并将数据传递给视图层...

    hibernate和spring的几个小例子

    本篇文章将深入探讨这两个框架,并通过几个实际的小例子来帮助理解它们的使用方式。 首先,Hibernate是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。在传统的Java应用中,开发者需要编写大量...

    JdbcTemplate.rar

    使用JdbcTemplate进行数据库操作通常包括以下几个步骤: - 创建JdbcTemplate实例,需要传递DataSource。 - 调用JdbcTemplate提供的方法,如update()执行更新操作,query()执行查询,call()执行存储过程等。 - ...

    spring jdbc.zip

    在提供的压缩包文件中,我们看到了几个关键的Spring库,包括: 1. spring-core-5.1.10.RELEASE.jar:Spring框架的核心库,提供了IoC容器、AOP等功能。 2. spring-beans-5.1.10.RELEASE.jar:包含了Bean工厂和Bean...

    官方mybatis整合spring例子

    在"官方mybatis整合spring例子"中,我们将探讨以下几个关键知识点: 1. **集成方式**:MyBatis与Spring的整合主要有两种方式:XML配置和注解配置。XML配置需要在Spring的配置文件中声明SqlSessionFactoryBean,并...

    spring_JDBC整合包

    在Spring JDBC中,主要涉及以下几个核心概念: 1. **JdbcTemplate**: 这是Spring JDBC的核心接口,提供了一组用于执行SQL语句的方法,如`update()`, `query()`, `execute()`等。它能处理数据库连接的打开和关闭,...

    spring blob相关

    这通常涉及到以下几个核心组件: 1. **JdbcTemplate**:这是Spring JDBC模块的一个关键接口,提供了方便的SQL执行方法,可以用于读取和写入BLOB字段。使用JdbcTemplate,我们可以编写SQL查询或更新语句,并利用其...

    spring模板模代码

    在使用Spring模板模式时,有几个关键点需要注意: 1. **模板方法设计**:模板类定义了执行流程,而具体的实现由子类或回调接口完成。 2. **灵活性**:通过回调接口,可以轻松地扩展或修改操作的逻辑,适应不同的...

    Spring mvc、 Spring、 Spring jdbc 整合实例源码

    在整合Spring MVC、Spring和Spring JDBC的实例中,你可能会看到以下几个关键部分: 1. **配置文件**:包括Spring的主配置文件(如`applicationContext.xml`),其中定义了Bean的配置,包括DataSource、JdbcTemplate...

Global site tag (gtag.js) - Google Analytics