Table 12.1. Spring JDBC - who does what?
Action
Spring
You
Define
connection parameters. |
|
X |
Open
the connection. |
X |
|
Specify
the SQL statement. |
|
X |
Declare
parameters and provide parameter values |
|
X |
Prepare
and execute the statement. |
X |
|
Set up
the loop to iterate through the results (if any). |
X |
|
Do the
work for each iteration. |
|
X |
Process
any exception. |
X |
|
Handle
transactions. |
X |
|
Close the connection, statement
and resultset. |
X |
|
-
JdbcTemplate
is the classic Spring
JDBC approach and the most popular. This "lowest level" approach and all others
use a JdbcTemplate under the covers, and all are updated with Java 5 support
such as generics and varargs.
-
NamedParameterJdbcTemplate
wraps a
JdbcTemplate
to provide named parameters instead of the
traditional JDBC "?" placeholders. This approach provides better documentation
and ease of use when you have multiple parameters for an SQL statement.
-
SimpleJdbcTemplate
combines the most
frequently used operations of JdbcTemplate and NamedParameterJdbcTemplate.
-
SimpleJdbcInsert and SimpleJdbcCall
optimize database metadata to limit the amount of necessary configuration. This
approach simplifies coding so that you only need to provide the name of the
table or procedure and provide a map of parameters matching the column names.
This only works if the database provides adequate metadata. If the database
doesn't provide this metadata, you will have to provide explicit configuration
of the parameters.
-
RDBMS Objects including MappingSqlQuery, SqlUpdate
and StoredProcedure
requires you to create reusable and
thread-safe objects during initialization of your data access layer. This
approach is modeled after JDO Query wherein you define your query string,
declare parameters, and compile the query. Once you do that, execute methods can
be called multiple times with various parameter values passed in.
-
JdbcTemplate
- 这是经典的也是最常用的Spring对于JDBC访问的方案。这也是最低级别的封装, 其他的工作模式事实上在底层使用了JdbcTemplate作为其底层的实现基础。
-
NamedParameterJdbcTemplate
- 对JdbcTemplate做了封装,提供了更加便捷的基于命名参数的使用方式而不是传统的JDBC所使用的“?”作为参数的占位符。这种方式在你需要为某个SQL指定许多个参数时,显得更加直观而易用。
-
SimpleJdbcTemplate
-
这个类结合了JdbcTemplate和NamedParameterJdbcTemplate的最常用的功能,同时它也利用了一些Java
5的特性所带来的优势,例如泛型、varargs和autoboxing等,从而提供了更加简便的API访问方式。需要工作在Java 5以上的环境中。
-
SimpleJdbcInsert 和 SimpleJdbcCall
-
这两个类可以充分利用数据库元数据的特性来简化配置。通过使用这两个类进行编程,你可以仅仅提供数据库表名或者存储过程的名称以及一个Map作为参数。其
中Map的key需要与数据库表中的字段保持一致。这两个类通常和SimpleJdbcTemplate配合使用。这两个类需要工作在JDK
5以上,同时数据库需要提供足够的元数据信息。
-
RDBMS 对象包括MappingSqlQuery, SqlUpdate and StoredProcedure
- 这种方式允许你在初始化你的数据访问层时创建可重用并且线程安全的对象。该对象在你定义了你的查询语句,声明查询参数并编译相应的Query之后被模型化。一旦模型化完成,任何执行函数就可以传入不同的参数对之进行多次调用。
分享到:
相关推荐
### Spring JDBC 数据源详解 #### 一、Spring JDBC 概述 Spring JDBC 是 Spring 框架中的一个重要组成部分,主要用于简化 Java 应用程序中对 JDBC 的使用。它提供了多种方式来处理 SQL 查询和更新,使得开发人员...
马士兵Spring课堂笔记(超级详细版) 本资源主要讲解了Spring框架的基础概念和应用,涵盖了面向接口编程、IOC/DI、AOP、Spring应用IOC/DI、Spring应用AOP、Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2整合、Spring...
这份"spring-note spring 读书笔记"深入探讨了Spring的核心概念以及如何与其他流行技术如JDBC、Hibernate、Struts和事务管理进行集成。 1. **Spring依赖注入(IOC)**: Spring的IOC容器是其核心,负责创建对象并...
5. **数据访问**:Spring支持多种数据库访问技术,如JDBC、ORM(Hibernate、MyBatis)以及JPA。Spring的DAO支持可以简化异常处理和事务管理。 6. **事务管理**:Spring提供了声明式和编程式事务管理,使得事务处理...
**Spring JDBC模板详解** 在Java开发中,Spring框架提供了丰富的工具和库来处理数据库操作,其中JDBC模板(JdbcTemplate)是Spring对JDBC的一种封装,它极大地简化了数据库访问的复杂性,使得开发者可以更加专注于...
**JDBC笔记 李勇** JDBC(Java Database Connectivity)是Java编程语言中用来规范应用程序如何访问数据库的应用程序编程接口,提供了诸如连接数据库、发送SQL语句、处理结果集等功能。李勇老师的JDBC学习笔记主要...
**Spring+JDBC集成学习笔记** 在Java Web开发中,Spring框架因其强大的功能和灵活性而被广泛应用。Spring提供了与JDBC的集成,使得数据库操作更加便捷、高效且易于管理。以下将详细介绍Spring如何与JDBC结合,以及...
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
**Spring3笔记** Spring是企业级应用的全面解决方案,包括依赖注入(DI)、面向切面编程(AOP)、事务管理等。以下是关键点: 1. **依赖注入(Dependency Injection, DI)**: 通过容器管理组件之间的依赖关系,...
"Spring笔记示例源代码"这个资源很可能是为了帮助学习者深入理解Spring框架的各种功能和用法而提供的实际代码示例。 1. **Spring IoC**:IoC是Spring的核心特性,它将对象的创建和管理权交给Spring容器,使得开发者...
6. **数据访问集成**:Spring支持多种数据访问技术,如JDBC、ORM(Hibernate、MyBatis)等,提供统一的编程模型,简化了数据访问层的开发。 7. **Spring MVC**:Spring的Web MVC框架提供了模型-视图-控制器的架构...
4. **数据访问**:Spring提供了JDBC抽象层,简化了数据库操作,还支持ORM框架如Hibernate和MyBatis的集成,使得持久化操作更加方便。 5. **MVC(Model-View-Controller)**:Spring MVC是Spring提供的用于构建Web...
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...
Spring笔记中提到的技术知识点主要围绕Hibernate框架展开,Hibernate是一个开放源代码的对象关系映射(Object/Relational Mapping,简称ORM)框架,用于Java环境。它对JDBC进行了非常轻量级的对象封装,使得开发者...
6. **数据访问集成**:Spring支持多种数据库访问技术,包括JDBC、ORM(Object-Relational Mapping)框架如Hibernate和MyBatis等,通过数据源和事务管理,简化了数据库操作。 7. **Spring AOP事务管理**:Spring提供...
在这个“达内培训的spring课程笔记”中,我们将深入探讨Spring的核心概念和重要特性。 首先,我们要理解Spring的基本架构。Spring框架由多个模块组成,包括核心容器、数据访问/集成、Web、AOP、工具和消息等。核心...
8. **Spring Data**:为访问数据库提供了统一的API,支持多种数据存储技术,如JPA、JDBC等,简化了数据访问层的编写。 9. **Spring Security**:Spring的安全管理框架,提供认证和授权功能,保护Web应用免受攻击。 ...
Spring全家桶包含的核心组件众多,如Spring Core Container(包括Bean Factory和Context模块)、Spring MVC、Spring JDBC、Spring ORM等。它们各自承担着不同的角色,共同构成Spring生态系统。Spring常用模块强调其...
这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...