《Spring》实战——4.Spring&数据库JDBC

Day_03

1. 数据持久化

数据持久化:就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称;(数据库记录-对象)

2. 存在问题

  1. 必须初始化数据访问框架、打开连接、处理各种异常和关闭连接。如果上述操作出现任何问题,都有可能损坏或删除的企业数据;
  2. JDBC中的SQLException;

可能导致抛出SQLException的常见问题包括:

  1. 应用程序无法连接数据库;
  2. 要执行的查询存在语法错误;
  3. 查询中所使用的表和/或列不存在;
  4. 试图插入或更新的数据违反了数据库约束。

JDBC代码经常会让强制捕获很多异常,连接、得到statement、执行SQL、操作resultSet、close释放;尽管强制捕获,但是并没有什么用,因为"无法从SQLException中恢复";意思就是,都叫SQLException,但即使捕获了,也无能为力;

Spring所提供的平台无关的持久化异常?

Spring的异常体系比JDBC简单的SQLException丰富得多,最重要的是,不用写catch代码块!——它是一个非检查型异常。换句话说,没有必要捕获Spring所抛出的数据访问异常(当然,如果你想捕获的话也是完全可以的);

3. 数据访问模板化

不管我们使用什么样的技术,都需要一些特定的数据访问步骤。例如,我们都需要获取一个到数据存储的连接并在处理完成后释放资源;Spring将数据访问过程中固定的和可变的部分明确划分为两个不同的类:模板(template)和回调(callback)

4.在Spring中使用JDBC

(1)一个简单的Demo,使用Spring内置的,通过JDBC驱动定义数据源;

 可以通过@Profile选择不同的数据源bean;

定义 JDBC 操作类:

 测试类:

 (2)使用第三方的数据库连接池+JDBC模板(JDBCTemplate)

Spring 中提供了一个 Jdbc Template 类,它自己已经封装了一个 DataSource 类型的变量,我们可以直接使用:

定义 JDBC 操作类:

测试类不变;可以看到JDBC操作类简化了操作(无需获取/释放Connection,获取Statement,处理异常);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值