SimpleJdbcTemplate类是JdbcTemplate类的一个包装器(wrapper),它利用了Java 5的一些语言特性,比如Varargs和Autoboxing。对那些用惯了Java 5的程序员,这些新的语言特性还是很好用的。
SimpleJdbcTemplate 类利用Java 5的语法特性带来的好处可以通过一个例子来说明。在下面的代码片断中我们首先使用标准的JdbcTemplate进行数据访问,接下来使用SimpleJdbcTemplate做同样的事情。
// classic JdbcTemplate-style...
public Actor findActor(long id) {
String sql = "select id, first_name, last_name from T_ACTOR where id = ?";
RowMapper mapper = new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
Actor actor = new Actor();
actor.setId(rs.getLong(Long.valueOf(rs.getLong("id"))));
actor.setFirstName(rs.getString("first_name"));
actor.setLastName(rs.getString("last_name"));
return actor;
}
};
// normally this would be dependency injected of course...
JdbcTemplate jdbcTemplate = new JdbcTemplate(this.getDataSource());
// notice the cast, and the wrapping up of the 'id' argument
// in an array, and the boxing of the 'id' argument as a reference type
return (Actor) jdbcTemplate.queryForObject(sql, mapper, new Object[] {Long.valueOf(id)});
}
下面是同一方法的另一种实现,惟一不同之处是我们使用了SimpleJdbcTemplate,这样代码显得更加清晰。
// SimpleJdbcTemplate-style...
public Actor findActor(long id) {
String sql = "select id, first_name, last_name from T_ACTOR where id = ?";
ParameterizedRowMapper<Actor> mapper = new ParameterizedRowMapper<Actor>() {
// notice the return type with respect to Java 5 covariant return types
public Actor mapRow(ResultSet rs, int rowNum) throws SQLException {
Actor actor = new Actor();
actor.setId(rs.getLong("id"));
actor.setFirstName(rs.getString("first_name"));
actor.setLastName(rs.getString("last_name"));
return actor;
}
};
// again, normally this would be dependency injected of course...
SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(this.getDataSource());
return simpleJdbcTemplate.queryForObject(sql, mapper, id);
}
分享到:
相关推荐
SimpleJdbcTemplate是Spring JDBC提供的一个简单易用的模板类,它基于JdbcTemplate并进一步降低了数据库访问的复杂性。通过预编译SQL语句、参数绑定、结果集处理等功能,它使得开发者无需关注事务管理、异常转换等...
一旦配置完成,我们就可以在DAO类中注入`SimpleJdbcTemplate`并开始进行数据库操作。例如,假设我们有一个`User`实体,我们可以创建一个`UserService`类: ```java @Service public class UserService { @...
11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.2.9. 获取自动生成的主键 11.3. 控制数据库连接 ...
11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.2.9. 获取自动生成的主键 11.3. 控制数据库连接 ...
11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.3. 控制数据库连接 11.3.1. DataSourceUtils类 ...
11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.3. 控制数据库连接 11.3.1. DataSourceUtils类 ...
11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.3. 控制数据库连接 11.3.1. DataSourceUtils类 11.3.2. ...
接下来,创建SpringMVC的配置类,这里我们可以通过`@EnableWebMvc`注解启用Web MVC功能,并使用`@Configuration`表明这是一个配置类。接着,定义`@Bean`来创建DispatcherServlet和视图解析器,如...
在本项目中,我们主要探讨的是基于Maven和Spring 3.0 MVC框架,采用注解方式进行开发的一个Web应用程序,特别地,它还利用了SimpleJdbcTemplate进行数据操作。这个项目是一个基本的CRUD(创建、读取、更新、删除)...
- **`simpleJdbcTemplate`**:这是一个有用的工具,特别是在需要验证数据是否正确插入到数据库的情况下。它可以用来执行SQL查询来检查数据库的状态。 #### 三、Spring注解 Spring Test Context Framework支持一...
Spring JDBC模块通过`JdbcTemplate`和`SimpleJdbcTemplate`类提供了数据库访问的抽象层,简化了数据库操作。这两种模板类都提供了事务管理、异常转换以及SQL语句执行等功能,使得开发者无需过多关注底层的数据库连接...
- **数据库驱动**:为了连接MySQL,我们需要添加MySQL的JDBC驱动到项目类路径中。通常,这可以通过Maven或Gradle的依赖管理实现。例如,对于Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>mysql ...
- **support**: 提供了额外的支持类,如NamedParameterJdbcTemplate及其相关辅助类。 7. **DataSource访问**: Spring的`org.springframework.jdbc.datasource`包提供了一些工具类,比如静态方法,用于通过JNDI...
7. `spring-jdbc-3.2.0.M1-sources.jar` 和 `spring-jdbc-3.2.0.M1.jar`: 这两个文件是Spring JDBC模块的源代码和编译后的类库,包含了Spring对JDBC的封装,如JdbcTemplate和SimpleJdbcTemplate等。 8. `spring-orm...
3. **SimpleJdbcTemplate**: SimpleJdbcTemplate是JdbcTemplate的一个简化版本,面向那些不希望使用模板类的全部功能,但又想要避免大量重复代码的开发者。它的API更加简洁,适合快速开发。 4. **...
例如,对于Hibernate,Spring提供了HibernateTemplate和HibernateDaoSupport类,它们简化了与Hibernate Session的交互。源码中可以看到这些类如何包装和暴露基本的Hibernate操作。 4. **SessionFactory和Session** ...
1. **简介**:SimpleJdbcTemplate和SimpleJdbcDaoSupport是Spring提供的简单JDBC模板类,用于简化数据库操作,避免了手动创建Connection、PreparedStatement等对象。 2. **使用方式**:通过继承SimpleJdbcDaoSupport...
Spring JDBC的核心是`JdbcTemplate`和`SimpleJdbcTemplate`,它们提供了事务管理、参数绑定、异常转换等功能,避免了SQL注入等问题。 3. **Spring 事务管理(TX)** Spring TX模块提供了声明式和编程式的事务管理...
Spring JDBC提供了Template类,如JdbcTemplate或SimpleJdbcTemplate,它们封装了常见的数据库操作,使得代码更加简洁且易于管理。 接下来,事务管理是企业级应用中必不可少的部分。Spring提供了声明式事务管理,...
在Spring框架中,Spring JDBC通过一系列的抽象层,如JdbcTemplate、SimpleJdbcTemplate和NamedParameterJdbcTemplate等,将数据库访问的繁琐细节隐藏起来,从而减少了代码量,提高了代码的可读性和可维护性。...