• 每章一篇博客带你拿下吉林大学JAVAEE期末(四:JDBC)


    开篇

    这章比较简单,因为重点在后面JPA。而且企业级数据库性能调优有学习,这篇文章的精炼内容相对较少,如果没有选修过数据库的同学还可以大致过一下ppt,毕竟只有30页内容。

    1.什么是JDBC?

    JDBC(Java Database Connectivity)为Java应用程序访问关系数据库提供统一的访问接口。JDBC使得程序开发人员在编程时可以不用绑定在特定数据库厂商的API上,大大增加了应用程序的可移植性在这里插入图片描述

    2.JDBC驱动程序的类型

    1)JDBC-ODBC桥驱动程序

    将应用程序对JDBC的调用转换为对ODBC的调用,通过ODBC数据源进行数据库的连接。

    2) 数据库本地客户端驱动程序

    将应用程序对JDBC的调用委托给数据库的本地客户端,由本地客户端将操作请求和SQL语句发送给数据库的服务器端。服务器端将操作结果通过本地客户端转发给Java程序。

    3)本地Java驱动程序

    使用Java语言实现本地JDBC驱动程序。使得Java程序可以不依赖外在的组件(如ODBC、数据库本地客户端等)直接和数据库进行连接。

    4)中间件服务器驱动程序

    Java语言在中间件服务器端实现JDBC驱动程序。客户端使用中间件服务器提供的数据库访问接口进行数据库操作。

    5)JDBC驱动程序的使用建议

    建议1:尽量不使用JDBC-ODBC桥驱动程序数据库本地客户端驱动程序,其实就是转换过程太多。
    建议2:使用本地Java驱动程序,对于独立的Java客户端程序是一个好的选择。不仅使得Java客户端不依赖于特定的环境,而且由于不需要经过中间环境的传递,可以获得更好的SQL语句处理速度
    建议3:对于在容器中运行的程序,建议使用中间件服务器提供的JDBC Java驱动程序,将数据库访问统一置于中间件服务器的管理之下,具有更好的安全性。对于客户端程序来说,也减少了由于数据库变化造成的代码修改

    3.JDBC的主要接口和类

    • DriverManager类:用于管理JDBC驱动程序,并利用JDBC驱动建立数据库连接。
    • Connection接口:代表一个数据库会话连接。如果要访问数据库,必须先获取数据库连接。
    • Statement接口:执行SQL语句的接口
    • PreparedStatement接口:执行预编译SQL语句的接口
    • ResultSet接口:用于存放数据库查询操作所获得的结果集,可通过列索引或列名从该结果集中获得列所需数据。

    4.使用JDBC访问数据库

    1)注册JDBC驱动

    • Class.forName()
    • DriverManager.registerDriver()

    2)获取数据库连接

    • DriverManager.getConnection()

    3)建立Statement或PreparedStatement

    • Statement是完整的SQL语句
    • PreparedStatement需要传入参数的预编译SQL语句。

    4)处理ResultSet

    • ResultSet表示一个查询结果集。当第3步中执行的是查询操作,即“select语句”,则执行完之后将会返回一个记录的集合,其类型是ResultSet
    • ResultSet这是一个集合类型,可以通过遍历,获取其中所有的数据。

    5)释放资源

    • 读取完ResultSet中的数据集之后,必须将ResultSet进行关闭,释放其占用的资源。然后关闭对应Statement对象,最后关闭Connection对象。
    • 如果第3步中执行的不是查询操作,则只需要先关闭Statement对象,再关闭Connection对象。
  • 相关阅读:
    uni-app rich-text组件富文本图片展示不全问题
    vite打包部分页面不显示问题+图片不显示问题
    员工脉动调查中十个最佳问题
    WEB网页设计期末作业个人主页——基于HTML+CSS制作个人简介网站
    IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Maven依赖管理,版本号管理,继承和聚合
    电脑重装系统后在Win11控制面板怎么打开?
    MySQL批量导入Excel数据【超详细】
    EXCEL2016 OLE/COM开发-常用功能封装代码(不断更新完善)
    为什么数组它的顺序读写会比较方便?
    基于线性卡尔曼滤波器和粒子滤波器估计地形高度(Matlab代码实现)
  • 原文地址:https://blog.csdn.net/stn54999/article/details/126403607