千家信息网

怎么简述Spring JDBC

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关怎么简述Spring JDBC,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。这里记录我对Spring JDBC
千家信息网最后更新 2026年11月03日怎么简述Spring JDBC

本篇文章给大家分享的是有关怎么简述Spring JDBC,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

这里记录我对Spring JDBC框架的学习。由于Spring JDBC和我之前做的工作有很多共同之处,学习经典Framework的设计,取长补短,为我所用。在这里,先佩服一下Rod JohnSon,他对数据库,JDBC的理解非常深。看Spring jdbc框架的设计和源代码,带给了我很多以前没有想到的东西。我们知道,Spring JDBC的主要目标是为了简化JDBC的编程,方便我们构建健壮的应用程序。这里,它的一个基本设计理念,就是将JDBC编程中变化的和不变化的分开。在JDBC中,什么是变化的?毫无疑问,SQL语句是变化的。那什么是不变化的?正确的使用JDBC的方式是不变化的。

先看一段代码。(自己的代码就不拿来做示范了,先看Rod书吧)

  1. public List getAvailableSeatlds(DataSource ds, int performanceld,

  2. int seatType) throws ApplicationException {

  3. String sql = "SELECT seat_id AS id FROM available_seats " +

  4. "WHERE performance_id = ? AND price_band_id = ?";List seatlds = new LinkedList();

  5. Connection con = null;

  6. PreparedStatement ps = null;

  7. ResultSet rs = null;

  8. try {

  9. con = ds.getConnection(); //1。建立Connection

  10. ps = con.prepareStatement(sql); //2。创建preparedStatement

  11. ps.setlnt(1, performanceld); //3。设置ps的参数

  12. ps.setlnt(2, seatType);

  13. rs = ps.executeQuery(); //4.执行查询

  14. while (rs.next()) { //5.解析ResultSet

  15. int seatld = rs.getlnt(1);

  16. seatlds.add(new Integer(seatld));

  17. }

  18. rs.close(); //6.关闭资源,做好善后工作。rs,ps,connection

  19. ps.close();

  20. }

  21. catch (SQLException ex) {

  22. throw new ApplicationException ("Couldn't run query [" + sql + "]", ex);

  23. }

  24. finally {

  25. try {

  26. if (con != null)

  27. con.close(); //如果没有连接池的话,不要轻易关。connection属于耗费资源:)

  28. }

  29. catch (SQLException ex) {

  30. // Log and ignore

  31. }

  32. }

  33. return seatlds;

  34. }

从上面看,什么是不变的。首先,咱们这个使用JDBC的方式是良好的,正确的,也是不变的,也就是workflow不变。其次,这里头的很多操作是不变的,比如说:关闭资源,处理异常。
◆什么是变的?设置PreparedStament的参数是变化的,利用PreparedStatement做什么是变化的。
◆还有什么是变的?取得Connection可能是变化的,我们可以从ConnectionPool中取,也可以裸从Database取。
◆还有什么是变的?在主工作流之外,还可以对PreparedStament设置一些属性。比如fetchSize等。
◆还有什么是变的?解析ResultSet是变的。但是可以抽象,都是从结果集中取得你想要的东西。

很好。经过分析,我们会自然而然的想到Template设计模式。用模板方法来描述我们的工作流。对于固定的操作,我们会把它建模为一些帮助类,利用这些类来完成固定操作,这些操作在Template方法中被调用。

对于哪些可以变的方法。我们也发现,其实它要实现的功能是一样的。抽象起来,我们可以用一些接口来描述这些功能。比如说数据库连接管理的功能。

设计取决于我们考虑问题的深度,以及我们对过程划分的粒度。

以上就是怎么简述Spring JDBC,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

变化 工作 设计 功能 方法 资源 学习 东西 代码 参数 就是 工作流 数据 数据库 方式 更多 框架 比如说 知识 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 花魁咖啡 百单网互联网科技有限公司 互联网金融 科技金融 西安互联网科技 奇酷互联网科技 齐家互联网科技 上海万想互联网科技 深圳期待互联网科技 互联网金融科技委员会 济南和联互联网科技有限公司 晓花互联网科技有限公司网址 哈尔滨屹滨互联网科技有限公司 乌鲁木齐新华智原互联网科技学校 滨湖区互联网智能科技产品有哪些 上海万顺科技互联网有限公司招聘 易租星互联网科技有限公司 互联网科技创新创业项目 瑞安市蟠桃会互联网科技有限公司 中国主要互联网科技公司 利用互联网等科技手段 云之行互联网科技 科技平台互联网 河南真二互联网科技有限公司 互联网金融与金融科技 狮子座互联网科技培训 科技互联网创业计划书 互联网行业科技股 深圳市罗太互联网科技有限公司 徐州市互联网科技有限公司 西安左小互联网科技有限公司
0