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;
}
};
接口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);
}
});
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"));
}
});
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()));
org.springframework.jdbc.core.ResultSetExtractor
需要执行ResultSet.next()方法。
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;
}
};
分享到:
相关推荐
通过这个SpringJDBC.rar的案例,初学者可以学习到如何配置DataSource,如何创建JdbcTemplate实例,以及如何编写和执行SQL语句。同时,实践中还可以了解到如何将Spring JDBC整合到Spring Boot项目中,以及如何处理...
这个`springjdbc.zip`压缩包很可能包含了示例代码和配置文件,用于演示如何使用Spring JDBC来执行基本的数据库操作,如增、删、改、查。 1. **Spring JDBC模块**:Spring JDBC模块主要由`org.springframework.jdbc`...
通过学习这些Spring JDBC的应用实例,你可以有效地整合Spring与数据库,提升开发效率,同时保持代码的简洁和可维护性。在实际项目中,Spring JDBC可以与MyBatis、Hibernate等ORM框架结合使用,以满足不同层次的需求...
在学习Spring JDBC的过程中,你将深入理解如何设置数据源、事务管理以及如何进行CRUD(创建、读取、更新和删除)操作。 首先,要了解Spring JDBC的基本架构,包括DataSource、JdbcTemplate、SimpleJdbcInsert、...
Spring JDBC还引入了RowMapper接口,这是一个回调接口,用于将数据库结果集中的每一行映射为一个Java对象。此外,NamedParameterJdbcTemplate类提供了命名参数的支持,使得SQL语句更易读,参数更易管理。同时,...
这个“SpringJDBC.rar”压缩包文件可能包含了关于如何在Spring框架中集成和使用JDBC的相关示例和教程。下面将详细解释Spring JDBC的核心概念、功能以及使用方法。 首先,Spring JDBC的核心目标是简化传统的JDBC编程...
总的来说,Spring JDBC的源码学习不仅能够加深对数据库操作的理解,还能提升我们的问题定位和优化能力。通过深入源码,我们可以学习到设计模式、异常处理、事务管理等多方面的知识,这对于成为一名专业的Java开发者...
这个整合Demo是一个学习和实践Spring MVC、Spring和Spring JDBC整合的绝佳案例,它涵盖了Web应用开发的多个层面,从接收用户请求到数据持久化,再到视图的呈现。通过深入研究这个Demo,开发者可以更好地理解和掌握...
Spring JDBC是Spring框架的一个核心模块,它为Java开发者提供了便捷的方式来操作数据库。Spring JDBC通过抽象出数据库连接...在学习和使用Spring JDBC时,了解并掌握上述知识点,将有助于你更好地理解和运用这一技术。
2. **模型(Model)**:包含了业务对象,这些对象通常由Spring管理,并且可能通过DAO(Data Access Object)接口与数据库交互。 3. **控制器(Controller)**:处理HTTP请求,调用业务逻辑并传递数据给视图。在...
综上所述,"Spring mvc、Spring、Spring jdbc 整合 demo"是一个实践性的学习项目,它涵盖了Spring框架的关键组件,帮助开发者建立起从Web前端到数据库后端的完整应用开发能力。通过深入学习和实践,可以提升Java...
SpringMVC3与SpringJDBC的整合是Java Web开发中常见的技术组合,它允许...通过学习和实践这个案例,开发者可以深入理解SpringMVC和SpringJDBC的整合应用,以及如何在实际项目中实现CRUD、权限过滤和分页查询功能。
在这个"springJdbcDemo11_java_springjdbc_"项目中,我们将深入探讨Spring集成JDBC的基本概念、配置和核心组件,以及如何通过实例快速上手并理解其工作原理。 1. **Spring JDBC简介** Spring JDBC模块是为了简化...
Spring Integration JDBC是Spring框架的一个重要模块,主要用于在Spring应用程序中集成数据库操作。它提供了一种简单而有效的方式来处理与...通过深入学习和实践,你可以更好地掌握Spring JDBC的用法,提高开发效率。
当我们谈论"Spring+JDBC实例"时,通常是指在Spring框架中使用JDBC进行数据访问的方式,这种方式可以利用Spring提供的便利性,同时保留对数据库的直接控制。 在Spring框架中,JDBC操作被封装在`org.springframework....
在Java世界里,Spring框架是应用最广泛的轻量级开源框架之一,它为开发者提供了许多便利,包括数据库操作。在本资源中,我们主要探讨的是...如果你对Spring JDBC感兴趣,这个资源中的代码会是一个很好的学习起点。
这个项目不仅包含了源代码,还预设了完整的数据库,因此非常适合学习和理解Spring JDBC的实际应用。 在Spring JDBC中,我们主要关注以下几个核心概念: 1. **JdbcTemplate**: 这是Spring JDBC提供的主要类,用于...
标题"JDBC_Spring.zip_spring jdbc"暗示我们将学习如何在Spring项目中配置并使用JDBC来连接MySQL数据库。首先,我们需要在Spring的配置文件(通常为`applicationContext.xml`)中配置数据源。一个典型的XML配置如下...
Spring JDBC框架在实现事务管理时,使用了基于接口的代理模式!使用 @Transactional 注解时,应该在接口的抽象方法上使用此注解!但是,在学习过程中,建议在接口上添加此注解。 事务的ACID特性 事务的ACID特性是...
这通常通过实现`org.springframework.jdbc.datasource.lookup.DataSourceLookup`接口完成,或者自定义一个类实现`determineCurrentLookupKey()`方法。 3. 配置Spring:在Spring的配置文件中,声明并注入...