jdbc简介

本文介绍了JDBC的基本概念及其作用,解释了JDBC如何解决跨平台问题,并详细阐述了通过JDBC连接数据库的具体步骤,包括注册驱动程序、获取连接对象及关闭连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.jdbc简介
    JDBC(java database connectivity,java数据库连接)是一种用于执行SQL语句的java API。是一种
用于sql执行的解决方案。它由java语言编写的类和接口组成。


    1.1应用程序如何与数据库进行沟通?
    数据库本身是一个独立运行的应用程序,而web应用程序是利用网络通信协议与数据库进行命令交换
以进行数据的增删改查。


    1.2在没有jdbc以前
    这个过程是间接完成的。应用程序通过利用一组专门与数据库进行通信协议的程序库,其实也就是
一套数据库厂商提供的AP来完成与数据库的交互。
    缺点:1.这对java程序员来说不易于代码的维护,一旦数据库厂商修改了数据库连接的API,java程序
员就得修改应用程序代码。  2.数据库厂商的程序库底层是与操作系统相关的,应用程序在其他操作系统
上运行,就得考虑,是否有该种平台的数据库的程序库。
    而JDBC的出现就是为了解决应用程序跨平台的。


    1.3JDBC出现后
    JDBC标准分为:JDBC应用程序开发者接口和JDBC驱动程序开发者接口。
    应用程序要连接数据库就调用JDBC开发者接口:java.sql和javax.sql两个包。
    数据库厂商要实现的规范则是:JDBC驱动程序开发者接口
    *JDBC驱动程序是干嘛的?
    这个java编写的程序是用来与数据库进行通信协议,但它是由数据库厂商编写的。也就是应用程序中
编写的sql语句,都会交到这个驱动程序这里,由驱动程序转发给数据库。进而实现应用程序操作数据库。
    *JDBC开发者接口:Driver接口 DriverManager接口 
statement接口 PrepareStatement接口 ResultSet接口
                   Connection接口  SQLException接口
    *写一个java程序,操作所有的数据库
    厂商在实现JDBC驱动程序时,按方式将驱动程序分为4种类型


2.连接数据库
   --注册Driver实现对象(将要使用的数据库注册到驱动管理器那里)
   --取得Connection实现对象
   --关闭Connection实现对象
   2.1注册驱动程序对象
      com.mysql.jdbc.Driver类实现了java.sql.Driver接口
      管理Driver实现对象的是java.sql.DriverManager
       DriverManager.registerDriver(new com.mysql.jdbc.Driver());//一般很少像这样自行编写代码进行这个操作
       Class.forName("com.mysql.jdbc.Driver");//只要想办法加载Driver接口的实现类的.class文件。
forName(类的完全限定名)获取参数所指定类的class对象
  Driver的源码是通过Static块实现驱动的注册,而static块会在加载驱动的.class文件时执行。
加载.class文件的方法有四种:
1.使用Class.forName();
  2.自行创建Driver接口实现类的实例
  3.启动jvm时指定jdbc.drivers属性
4.设置jar中,/services/java.sql.Driver().
创建对象,基本上就要加载.class文件,通过读取类的.class文件创建对象。自然也就会
运行类的静态区完成驱动程序注册。


    2.2取得Connection实现对象
Connection接口的实现对象,是数据库连接代表对象。
DriverManager.getConnection(jdbcurl,username,password);//通过向驱动管理器传递url,用户名和密码取得实现连接
        jdbcUrl组成:    "协议:子协议:数据源标识"
              jdbc:mysql://主机名称:连接端口/数据库名称?参数=值&参数=值


3.测试数据库是否连接



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值