Java程序设计 JDBC简介

JDBC

JDBC(Java Database Connectivity,Java数据库连接),提供了一种与平台无关的用于执行SQL语句的标准Java API,可以方便地实现多种关系型数据库的统一操作,它由一组用Java语言编写的类和接口组成。

JDBC驱动分类


  • JDBC-ODBC桥驱动
    JDBC-ODBC是Sun提供的一个标准的JDBC操作,直接利用微软的ODBC进行数据库的连接操作,但是这种操作性能较低,所以通常情况下是不推荐使用这种方式进行操作的。
  • JDBC本地驱动
    直接使用各个数据库生产商提供的JDBC驱动程序,但是因为其只能应用在特定的数据库上,会丧失掉程序的可移植性,但是这样操作的性能较高。
  • JDBC网络驱动
    这种驱动程序将JDBC转换为与DBMS无关的网络协议,然后又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。
  • 本地协议纯JDBC驱动
    这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。

JDBC操作类&接口

类&接口

作用

java.sql.DriverManager

用于管理JDBC驱动程序

java.sql.Connection

用于建立与特定数据库的连接,一个连接就是一个会话,建立连接后便可以执行SQL语句和获得检索结果

java.sql.Statement

一个Statement对象用于执行静态SQL语句,并获得语句执行后产生的结果

java.sql.PreparedStatement

创建一个可以编译的SQL语句对象,该对象可以被多次运行,以提高执行的效率,该接口是Statement的子接口

java.sql.ResultSet

用于创建表示SQL语句检索结果的结果集,用户通过结果集完成对数据库的访问

java.sql.Date

该类是标准java.util.Date的一个子集,用于表示与SQL DATE 相同的日期类型,该日期不包括时间

java.sql.Timestamp

标准java.util.Date类的扩展,用于表示SQL时间戳,并增加了一个能表示纳秒的时间域

java.sql.CallableStatement

用于执行SQL存储过程

java.sql.DatabaseMetaData

与java.sql.ResultSetMetaData一同用于访问数据库的元信息

java.sql.Driver

定义一个数据库驱动程序的接口

java.sql.DataTruncatiom

在JDBC遇到数据截断的异常时,报告一个警告(读数据时)或产生一个异常(写数据时)

java.sql.DriverPropertyInfo

高级程序设计人员通过DriverPropertyInfo与Driver进行交流,可使用getDriverPropertyInfo获取或提供驱动程序的信息

java.sql.Time

该类是标准java.util.Date的一个子集,用于表示时、分、秒

java.sql.SQLException

对数据库访问时产生的错误的描述信息

java.sql.SQLWarning

对数据库访问时产生的警告的描述信息

java.sql.Types

定义了表示SQL类型的常量

JDBC操作步骤

Java程序设计 JDBC简介_java

(1)加载数据库驱动程序:各个数据库都会提供JDBC的驱动程序开发包,直接把JDBC操作所需要的开发包(一般为*.jar或*.zip格式)配置到classpath路径即可。(2)连接数据库:根据各个数据库的不同,连接的地址也不同,此连接地址将由数据库厂商提供。

(3)使用语句进行数据库操作:数据库操作分为更新和查询两种操作,除了可以使用标准的SQL语句外,对于各个数据库也可以使用其自己提供的各种命令。

(4)关闭数据库连接:数据库操作完毕之后需要关闭连接以释放资源。