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;
}
};
相关推荐
在登录验证时,Action类会调用Spring服务层的接口,这个接口可能是由Spring的依赖注入机制创建并注入到Action中的。 Spring框架在这个项目中起到了核心的作用。首先,它通过依赖注入管理各个组件,如DAO(数据访问...
Spring JdbcTemplate的注解支持主要包含以下几个关键注解: - `@Query`: 用于定义SQL查询。可以包含静态或动态SQL,支持命名参数。 - `@Update`: 用于定义SQL更新语句。 - `@Insert`: 用于定义SQL插入语句。 - `@...
在Spring4中,JdbcTemplate与事务管理的结合主要体现在以下几个方面: - **事务回调**:可以使用TransactionCallback接口,在回调方法中执行数据库操作。Spring会自动在事务内部执行这个回调,确保事务的正确性。 ...
1. 创建DataSource:DataSource是JDBC规范中的一个接口,用于获取数据库连接。Spring框架提供了多种实现,如BasicDataSource、TomcatDataSource等。 2. 获取JdbcTemplate实例:通过Spring容器或者@Autowired注解,...
在Java的Spring框架中,`JdbcTemplate`是一个非常重要的组件,它为数据库操作提供了模板方法,简化了数据库访问。本文将深入探讨`JdbcTemplate`通用泛型Dao实现的相关知识点,帮助开发者更好地理解和应用这一技术。 ...
在Spring框架中,面向抽象编程体现在以下几个方面: 1. **依赖注入(DI)**:Spring的核心特性之一就是DI,它允许开发者声明性地配置组件间的依赖关系。在XML配置文件中,我们可以定义Bean的接口类型,而不是具体...
`jdbcTemplate`的使用通常涉及到以下几个步骤: 1. 引入依赖:将上述两个jar包加入到项目类路径中。 2. 配置数据源:创建一个`DataSource`实例,这是`JdbcTemplate`操作数据库的基础。 3. 创建`JdbcTemplate`实例:...
JdbcTemplate的使用主要涉及以下几个方面: 1. **配置JdbcTemplate**:在Spring配置文件中,我们需要定义一个JdbcTemplate bean,通常会注入DataSource。DataSource是连接数据库的关键,它负责管理数据库连接。例如...
在Spring-JDBC中,主要涉及以下几个关键组件: 1. DataSource:数据源是连接数据库的桥梁,Spring支持多种类型的DataSource,如BasicDataSource、JNDI查找等。数据源的配置是整个Spring-JDBC的基础。 2. ...
下面我们将对 Spring 框架中的几个重要类和接口进行详细解析。 1. DataSource 接口 DataSource 接口是 javax.sql 包下的一个接口,它提供了一个方法 getConnection(),该方法用于获取数据库连接。Spring 框架支持...
在Spring中,这通常涉及到以下几个关键知识点: 1. **Spring MVC**:Spring MVC是Spring框架的一部分,用于构建Web应用程序。在这个项目中,我们可能会看到Controller类,它们处理HTTP请求,并将数据传递给视图层...
本篇文章将深入探讨这两个框架,并通过几个实际的小例子来帮助理解它们的使用方式。 首先,Hibernate是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。在传统的Java应用中,开发者需要编写大量...
使用JdbcTemplate进行数据库操作通常包括以下几个步骤: - 创建JdbcTemplate实例,需要传递DataSource。 - 调用JdbcTemplate提供的方法,如update()执行更新操作,query()执行查询,call()执行存储过程等。 - ...
在提供的压缩包文件中,我们看到了几个关键的Spring库,包括: 1. spring-core-5.1.10.RELEASE.jar:Spring框架的核心库,提供了IoC容器、AOP等功能。 2. spring-beans-5.1.10.RELEASE.jar:包含了Bean工厂和Bean...
在"官方mybatis整合spring例子"中,我们将探讨以下几个关键知识点: 1. **集成方式**:MyBatis与Spring的整合主要有两种方式:XML配置和注解配置。XML配置需要在Spring的配置文件中声明SqlSessionFactoryBean,并...
在Spring JDBC中,主要涉及以下几个核心概念: 1. **JdbcTemplate**: 这是Spring JDBC的核心接口,提供了一组用于执行SQL语句的方法,如`update()`, `query()`, `execute()`等。它能处理数据库连接的打开和关闭,...
这通常涉及到以下几个核心组件: 1. **JdbcTemplate**:这是Spring JDBC模块的一个关键接口,提供了方便的SQL执行方法,可以用于读取和写入BLOB字段。使用JdbcTemplate,我们可以编写SQL查询或更新语句,并利用其...
在使用Spring模板模式时,有几个关键点需要注意: 1. **模板方法设计**:模板类定义了执行流程,而具体的实现由子类或回调接口完成。 2. **灵活性**:通过回调接口,可以轻松地扩展或修改操作的逻辑,适应不同的...
在整合Spring MVC、Spring和Spring JDBC的实例中,你可能会看到以下几个关键部分: 1. **配置文件**:包括Spring的主配置文件(如`applicationContext.xml`),其中定义了Bean的配置,包括DataSource、JdbcTemplate...