spring 数据库访问

一: 数据访问模版化 : spring将数据访问过程中固定的和可变的部分明确划分为两个不同的类: 模板和回调 

 模板 : 事务控制,管理资源,处理异常

 回调 : 创建语句,绑定参数,整理数据集

 spring 提供了: jdbcTemplate 和 HibernateTemplate 或 JpaTemplate 

二: 使用数据访问模板

方式1: 将其配置为spring上下文中的bean并将其直入到应用程序的DAO中

方式2: 使用spring的DAO支持类进一步简化应用程序的DAO配置 (Spring提供了DAO支持类,而将业务自己的DAO类作为它的子类)当编写应用程序自己的DAO实现时,可以继承自DAO支持类并调用模板获取方法类直接访问底层的数据访问模板。列如应用程序的DAO继承自JdbcDaoSupport,那么只需要getJdbcTemplate()方法就可以获得jdbcTemplate并使用它。

三:spring上下文中配置数据源bean的多种方式

1、通过jdbc驱动程序定义的数据源

2、通过jndi查找的数据源 : 数据源完全可以在应用程序之外进行管理,这样应用程序只需在访问数据库的时候查找数据源就可以了。

3、连接池的数据源:spring并没有提供数据源连接池实现。可以DBCP

DBCP包含了多个提供连接池功能的数据源,其中BasicDataSource是常用的

四、spring 访问数据库

1: jdbc方式: 使用jdbc模板承担了资源管理和异常处理的工作,从而简化了jdbc代码,让我们只需编写从数据库读写数据的代码。

jdbcTemplate : 最基本的Spring Jdbc模板,这个模板支持最简单的jdbc数据库访问功能以及简单的索引参数查询。

NamedParameterJdbcTemplate : 使用该模板类查询时,可以将查询值以命名参数的形式绑定到sql中。

SimpleJdbcTemplate: 该模板包含自动装箱,泛型,可变参数列表简化jdbc模板。

需要配置 : SimpleJdbcTemplate 和 SimpleJdbcTemplateSpitterDao

2 : spring中集成hibernate

spring 对ORM框架的支持提供的服务: spring声明式事务的集成支持,透明的异常处理,线程安全的模版类,dao支持类,资源管理。

3: spring与java持久化API

配置实体管理工厂 : 基于Java持久化api的应用程序使用EntityManagerFactory的实现类来获取EntityManager实例。

包括两种类型,应用程序管理类型和容器管理类型。他们二者之间唯一值得关注的区别是,在spring应用上下文中如何进行配置。其中容器管理类型,可以将数据源信息配置在Spring应用上下文,而不是在persistence.xml文件中。

猜你喜欢

转载自kayak2015.iteye.com/blog/2295944