Spring与数据持久层

来源:互联网 发布:网络电视盒安全模式 编辑:程序博客网 时间:2024/05/01 03:11

Srping数据库持久层概述

将数据库(内存中的变量或对象)保持到储存介质中额过程就是数据持久化。Java持久化技术主要有两种方式

1,java对象的序列化:(少量数据持久化)

2.java对象保存到关系数据库中——对象关系映射OMR(Object_Relational mapping):(大量的数据持久化)将java对象保存到关系数据库中及从数据库中取出

数据到对象的过程我们称之——OR m据库中账号表中的每一条记录都对应账号类的每一个实例这种对应关系我们成为ORM

JDBC代码的缺点

1、程序代码繁琐,大量重复的代买,与业务有关的代买少,与业务无关的但必不可少额代码很多。

2、程序代码中可能引起硬编码问题

3、SQLException异常,是一个必须checkbox异常,会引入大量的try-catch-finally块代码。

4、SQLException异常在不同的数据库,即使是相同的错误获得的信息(getMessage方式)也是不同的。

Spring解决硬编码问题

JDBC有个bean datasource的bean这个bean负责数据库源对象,又通过数据源对象获取连接对象,通过改变回调部分的代码。


Spring解决JDBC代码重复问题和繁琐问题

一次访问数据库的JDBC程序可以分成以下步骤

1、加载驱动程序    2、获得数据库连接    3、执行可变部分的代码    4、执行可变部分代码     5、捕获处理异常    6、释放资源


Spring框架提供了一个JDBC的模板org.springframework.jdbc.core.jdbcTemplate


JDBC模板类还提供了很多查询和更新的方法

Spring对于DAO的支持

什么是DAO的支持?

数据访问对象设计模式——DAO(Data  Access  Object)DAO可以抽象和封装所有对数据源的访问。DAO 要引入一个接口,使得依赖DAO的业务服务层组件,

不再关心DAO的访问额细节

DAO

设计模式即Data Accessor 模式和Active Domain Object模式的组合。Data Accessor模式实现了数据访问的业务逻辑的分离。一个表有一个Data Accessor,它是通过一个接口

先定义了对表的CRUD(插入、查询、修改和删除)的四类方法。


Spring的异常处理层次

SQLException


Spring提供的数据访问异常,不论是什么数据库以及什么ORM框架,相同的错误的异常都是相同的


0 0
原创粉丝点击