`
lsy
  • 浏览: 122976 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Spring JDBC 接口学习

阅读更多
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_SpringJDBC_spring jdbc

    通过这个SpringJDBC.rar的案例,初学者可以学习到如何配置DataSource,如何创建JdbcTemplate实例,以及如何编写和执行SQL语句。同时,实践中还可以了解到如何将Spring JDBC整合到Spring Boot项目中,以及如何处理...

    springjdbc.zip_SpringJDBC_spring jdbc_spring 增删改查_springjdbc xml

    这个`springjdbc.zip`压缩包很可能包含了示例代码和配置文件,用于演示如何使用Spring JDBC来执行基本的数据库操作,如增、删、改、查。 1. **Spring JDBC模块**:Spring JDBC模块主要由`org.springframework.jdbc`...

    Spring JDBC应用实例讲解

    通过学习这些Spring JDBC的应用实例,你可以有效地整合Spring与数据库,提升开发效率,同时保持代码的简洁和可维护性。在实际项目中,Spring JDBC可以与MyBatis、Hibernate等ORM框架结合使用,以满足不同层次的需求...

    SpringJDBC训练素材.zip

    在学习Spring JDBC的过程中,你将深入理解如何设置数据源、事务管理以及如何进行CRUD(创建、读取、更新和删除)操作。 首先,要了解Spring JDBC的基本架构,包括DataSource、JdbcTemplate、SimpleJdbcInsert、...

    Spring事务管理和SpringJDBC思维导图

    Spring JDBC还引入了RowMapper接口,这是一个回调接口,用于将数据库结果集中的每一行映射为一个Java对象。此外,NamedParameterJdbcTemplate类提供了命名参数的支持,使得SQL语句更易读,参数更易管理。同时,...

    SpringJDBC.rar_jdbc spring_spring jd_spring jdbc_spring使用JDBC进行数

    这个“SpringJDBC.rar”压缩包文件可能包含了关于如何在Spring框架中集成和使用JDBC的相关示例和教程。下面将详细解释Spring JDBC的核心概念、功能以及使用方法。 首先,Spring JDBC的核心目标是简化传统的JDBC编程...

    spring-jdbc.rar源码 学习分析用

    总的来说,Spring JDBC的源码学习不仅能够加深对数据库操作的理解,还能提升我们的问题定位和优化能力。通过深入源码,我们可以学习到设计模式、异常处理、事务管理等多方面的知识,这对于成为一名专业的Java开发者...

    Spring mvc + Spring + Spring jdbc 整合 demo

    这个整合Demo是一个学习和实践Spring MVC、Spring和Spring JDBC整合的绝佳案例,它涵盖了Web应用开发的多个层面,从接收用户请求到数据持久化,再到视图的呈现。通过深入研究这个Demo,开发者可以更好地理解和掌握...

    SpringJDBC

    Spring JDBC是Spring框架的一个核心模块,它为Java开发者提供了便捷的方式来操作数据库。Spring JDBC通过抽象出数据库连接...在学习和使用Spring JDBC时,了解并掌握上述知识点,将有助于你更好地理解和运用这一技术。

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

    2. **模型(Model)**:包含了业务对象,这些对象通常由Spring管理,并且可能通过DAO(Data Access Object)接口与数据库交互。 3. **控制器(Controller)**:处理HTTP请求,调用业务逻辑并传递数据给视图。在...

    Spring mvc、 Spring、 Spring jdbc 整合 demo

    综上所述,"Spring mvc、Spring、Spring jdbc 整合 demo"是一个实践性的学习项目,它涵盖了Spring框架的关键组件,帮助开发者建立起从Web前端到数据库后端的完整应用开发能力。通过深入学习和实践,可以提升Java...

    SpringMVC3 + SpringJDBC整合 源码。

    SpringMVC3与SpringJDBC的整合是Java Web开发中常见的技术组合,它允许...通过学习和实践这个案例,开发者可以深入理解SpringMVC和SpringJDBC的整合应用,以及如何在实际项目中实现CRUD、权限过滤和分页查询功能。

    springJdbcDemo11_java_springjdbc_

    在这个"springJdbcDemo11_java_springjdbc_"项目中,我们将深入探讨Spring集成JDBC的基本概念、配置和核心组件,以及如何通过实例快速上手并理解其工作原理。 1. **Spring JDBC简介** Spring JDBC模块是为了简化...

    spring_integration_jdbc.rar_spring jdbc

    Spring Integration JDBC是Spring框架的一个重要模块,主要用于在Spring应用程序中集成数据库操作。它提供了一种简单而有效的方式来处理与...通过深入学习和实践,你可以更好地掌握Spring JDBC的用法,提高开发效率。

    Spring+JDBC实例

    当我们谈论"Spring+JDBC实例"时,通常是指在Spring框架中使用JDBC进行数据访问的方式,这种方式可以利用Spring提供的便利性,同时保留对数据库的直接控制。 在Spring框架中,JDBC操作被封装在`org.springframework....

    spring中jdbc的操作

    在Java世界里,Spring框架是应用最广泛的轻量级开源框架之一,它为开发者提供了许多便利,包括数据库操作。在本资源中,我们主要探讨的是...如果你对Spring JDBC感兴趣,这个资源中的代码会是一个很好的学习起点。

    spring jdbc 实例源码

    这个项目不仅包含了源代码,还预设了完整的数据库,因此非常适合学习和理解Spring JDBC的实际应用。 在Spring JDBC中,我们主要关注以下几个核心概念: 1. **JdbcTemplate**: 这是Spring JDBC提供的主要类,用于...

    JDBC_Spring.zip_spring jdbc

    标题"JDBC_Spring.zip_spring jdbc"暗示我们将学习如何在Spring项目中配置并使用JDBC来连接MySQL数据库。首先,我们需要在Spring的配置文件(通常为`applicationContext.xml`)中配置数据源。一个典型的XML配置如下...

    基于Spring JDBC的事务管理

    Spring JDBC框架在实现事务管理时,使用了基于接口的代理模式!使用 @Transactional 注解时,应该在接口的抽象方法上使用此注解!但是,在学习过程中,建议在接口上添加此注解。 事务的ACID特性 事务的ACID特性是...

    spring-jdbc-RoutingDataSource

    这通常通过实现`org.springframework.jdbc.datasource.lookup.DataSourceLookup`接口完成,或者自定义一个类实现`determineCurrentLookupKey()`方法。 3. 配置Spring:在Spring的配置文件中,声明并注入...

Global site tag (gtag.js) - Google Analytics