JDBC基本知识

小编 2026-06-20 阅读:1191 评论:0
定义 JDBC的全称为Java Database Connectivity,即Java数据库连接,是一种跨平台运行的可执行SQL的Java API。程序可通过JDBC API连接到关系数据库....

定义

JDBC的全称为Java Database Connectivity,即Java数据库连接,是一种跨平台运行的可执行SQL的Java API。程序可通过JDBC API连接到关系数据库.

架构

JDBC API支持用于数据库访问的两层和三层处理模型,但通常,JDBC体系结构由两层组成:

  • JDBC API:提供应用程序JDBC管理器连接,使用驱动程序管理器并指定数据库的驱动程序来提供与异构数据库的透明连接。
  • JDBC驱动程序API:支持JDBC管理器驱动程序连接,管理器确保使用正确的驱动程序来访问每个数据源。
    \"在这里插入图片描述\"

常用组件

JDBC API提供以下接口和类

  • Driver管理数据库驱动。我们很少会直接与Driver对象进行交互。 但会使用DriverManager对象来管理这种类型的对象。 它还提取与使用Driver对象相关的信息。
  • DriverManager: 此类管理数据库驱动程序列表。 使用通信子协议将来自java应用程序的连接请求与适当的数据库驱动程序进行匹配。在JDBC下识别某个子协议的第一个驱动程序将用于建立数据库连接。
  • Connection:此接口具有用于联系数据库的所有方法。 连接(Connection)对象表示通信上下文,即,与数据库的所有通信仅通过连接对象。
  • Statement:执行SQL语句,使用从此接口创建的对象将SQL语句提交到数据库。 除了执行存储过程之外,一些派生接口还接受参数。
  • PreparedStatement :Statement的子接口,允许数据库预编译SQL语句(这些SQL通常带有参数),以后每次只改变命令的参数,避免每次都要编译SQL语句,因此性能更好。(提前编译,效率高,安全)
  • ResultSet:在使用Statement对象执行SQL查询后,这些对象保存从数据库检索的数据。 它作为一个迭代器并可移动ResultSet对象查询的数据。
  • SQLException:此类处理数据库应用程序中发生的任何错误。

编程步骤

\"\"

  • 操作数据库的步骤
    1、为我们的项目 添加驱动包 .jar
    2、注册 加载 驱动
    3、用过 DriverManager 获取数据库连接 Connection
    4、准备要执行的 sql 字符串,获取数据库的会话 Statement
    5、通过 Statement 执行 sql 语句
    6、操作 数据库结果集
    7、关闭资源
public class ConnMySql {
    public static void main(String[] args) throws Exception {
        //1. 加载驱动
        Class.forName(\"com.mysql.jdbc.Driver\");
        try (
                // 2. 使用DriverManager获取数据库的连接conn
                Connection conn = DriverManager.getConnection(
                        \"jdbc:mysql://127.0.0.1:3306/select_test\",
                        \"root\", \"32147\");
                // 3. 使用Connection创建Statement对象
                Statement stmt = conn.createStatement();
                // 4. 执行SQL语句
                /*
                Statement有三种执行SQL语句的方法:
                1. execute()可执行任何SQL语句:返回boolean值,如果执行后第一个结果为ResultSet,返回true,否则返回false
                2. executeQuery()执行select语句:返回查询到的结果集
                3. executeUpdate()用于执行DML语句:返回整数,代表被SQL影响的记录条数
                * */
                ResultSet rs = stmt.executeQuery(\"select s.*,teacher_name\"
                        + \"from student_table s, teacher_table t\"
                        + \"where t.teacher_id = s.java_teacher\"))

        {
            while (rs.next()) {
                System.out.println(rs.getInt(1) + \"\\t\"
                        + rs.getString(2) + \"\\t\"
                        + rs.getString(3) + \"\\t\"
                        + rs.getString(4));
            }
        }
    }
}

参考文献

https://www.yiibai.com/jdbc/jdbc-introduction.html JDBC常用组件
https://cloud.tencent.com/developer/article/1153770 JDBC工作流程,架构

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表