java怎样搞驱动_Java数据库接口JDBC基础教程之驱动设置

DriverManager 类是 JDBC 的管理层,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。另外,DriverManager 类也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等事务。

对于简单的应用程序,一般程序员需要在此类中直接使用的唯一方法是 DriverManager.getConnection。正如名称所示,该方法将建立与数据库的连接。JDBC 允许用户调用 Dr

用UC每月免费发短信 新浪点点通天气

为什么美国人打错靶? 1拍网caiso腕表5.8折

http://www.gaodaima.com/41618.htmljava数据库接口JDBC基础教程之驱动设置

iverManager 的方法 getDriver、getDrivers 和 registerDriver 及 Driver 的方法 connect。但多数情况下,让 DriverManager 类管理建立连接的细节为上策。

1、跟踪可用驱动程序

DriverManager 类包含一列 Driver 类,它们已通过调用方法 DriverManager.registerDriver 对自己进行了注册。所有 Driver 类都必须包含有一个静态部分。它创建该类的实例,然后在加载该实例时 DriverManager 类进行注册。这样,用户正常情况下将不会直接调用 DriverManager.registerDriver;而是在加载驱动程序时由驱动程序自动调用。加载 Driver 类,然后自动在 DriverManager 中注册的方式有两种:

通过调用方法 Class.forName。这将显式地加载驱动程序类。由于这与外部设置无关,因此推荐使用这种加载驱动程序的方法。以下代码加载类 acme.db.Driver:

Class.forName("acme.db.Driver");

如果将 acme.db.Driver 编写为加载时创建实例,并调用以该实例为参数的 DriverManager.registerDriver(本该如此),则它在 DriverManager 的驱动程序列表中,并可用于创建连接。

通过将驱动程序添加到 java.lang.System 的属性 jdbc.drivers 中。这是一个由 DriverManager 类加载的驱动程序类名的列表,由冒号分隔:初始化 DriverManager 类时,它搜索系统属性 jdbc.drivers,如果用户已输入了一个或多个驱动程序,则 DriverManager 类将试图加载它们。以下代码说明程序员如何在 ~/.hotjava/properties 中输入三个驱动程序类(启动时,HotJava 将把它加载到系统属性列表中):

jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.test.ourDriver;

对 DriverManager 方法的第一次调用将自动加载这些驱动程序类。

注意:加载驱动程序的第二种方法需要持久的预设环境。如果对这一点不能保证,则调用方法 Class.forName 显式地加载每个驱动程序就显得更为安全。这也是引入特定驱动程序的方法,因为一旦 DriverManager 类被初始化,它将不再检查 jdbc.drivers 属性列表。

在以上两种情况中,新加载的 Driver 类都要通过调用 DriverManager.registerDriver 类进行自我注册。如上所述,加载类时将自动执行这一过程。

由于安全方面的原因,JDBC 管理层将跟踪哪个类加载器提供哪个驱动程序。这样,当 DriverManager 类打开连接时,它仅使用本地文件系统或与发出连接请求的代码相同的类加载器提供的驱动程序。

2、建立连接

加载 Driver 类并在 DriverManager 类中注册后,它们即可用来与数据库建立连接。当调用 DriverManager.getConnection 方法发出连接请求时,DriverManager 将检查每个驱动程序,查看它是否可以建立连接。

有时可能有多个 JDBC 驱动程序可以与给定的 URL 连接。例如,与给定远程数据库连接时,可以使用 JDBC-ODBC 桥驱动程序、JDBC 到通用网络协议驱动程序或数据库厂商提供的驱动程序。在这种情况下,测试驱动程序的顺序至关重要,因为 DriverManager 将使用它所找到的第一个可以成功连接到给定 URL 的驱动程序。

首先 DriverManager 试图按注册的顺序使用每个驱动程序(jdbc.drivers 中列出的驱动程序总是先注册)。它将跳过代码不可信任的驱动程序,除非加载它们的源与试图打开连接的代码的源相同。

它通过轮流在每个驱动程序上调用方法 Driver.connect,并向它们传递用户开始传递给方法 DriverManager.getConnection 的 URL 来对驱动程序进行测试,然后连接第一个认出该 URL 的驱动程序。

这种方法初看起来效率不高,但由于不可能同时加载数十个驱动程序,因此每次连接实际只需几个过程调用和字符串比较。

以下代码是通常情况下用驱动程序(例如 JDBC-ODBC 桥驱动程序)建立连接所需所有步骤的示例:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动程序

String url = "jdbc:odbc:fred";

DriverManager.getConnection(url, "userID", "passwd");

欢迎大家阅读《Java数据库接口JDBC基础教程之驱动设置》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要连接华为GaussDB A数据库,需要先在Java代码中导入相关的JDBC驱动程序。可以从华为官网下载并安装GaussDB A JDBC驱动程序。安装完成后,可以使用以下代码来连接数据库: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static void main(String[] args) { Connection conn = null; String url = "jdbc:postgresql://hostname:port/database"; String user = "username"; String password = "password"; try { // 注册 JDBC 驱动 Class.forName("org.postgresql.Driver"); // 打开链接 conn = DriverManager.getConnection(url, user, password); // 执行查询操作等 // ... } catch (Exception e) { e.printStackTrace(); } finally { try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } } ``` 其中,url要根据实际情况进行修改,hostname和port是GaussDB A数据库的IP地址和端口号,database是要连接的数据库名称,username和password是连接数据库所需的用户名和密码。在执行查询操作等后续操作前,需要先验证连接是否成功。 ### 回答2: Java可以通过JDBCJava Database Connectivity)来连接与操作各种数据库,包括华为GaussDB A数据库。下面是Java连接华为GaussDB A数据库的步骤: 1. 导入JDBC驱动程序:首先需要下载并导入华为GaussDB A数据库JDBC驱动程序。将其添加到项目的类路径下,以便在Java代码中可以引用。 2. 加载JDBC驱动程序:在Java代码中使用`Class.forName()`方法加载驱动程序。例如: ``` Class.forName("com.huawei.gauss.jdbc.Jdbc"); ``` 3. 建立数据库连接:使用`DriverManager.getConnection()`方法来建立与GaussDB A数据库的连接。该方法需要提供数据库的URL、用户名和密码。例如: ``` String url = "jdbc:openGauss://localhost:5432/database"; String user = "username"; String password = "password"; Connection connection = DriverManager.getConnection(url, user, password); ``` 4. 执行SQL语句:通过上一步建立的数据库连接,可以使用`connection.createStatement()`方法创建`Statement`对象,然后使用`Statement.execute()`方法执行SQL语句。例如,执行查询操作: ``` Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM table"); ``` 5. 处理结果:对于查询操作,可以通过`ResultSet`对象获取查询结果。根据需要,可以使用`ResultSet.next()`方法逐行遍历结果集,并使用`ResultSet.getXXX()`方法获取每一行的数据。 6. 关闭连接:使用完数据库连接后,需要及时关闭以释放资源。可以通过调用`connection.close()`方法来关闭连接。例如: ``` connection.close(); ``` 通过以上步骤,我们可以在Java代码中实现与华为GaussDB A数据库的连接和操作。根据具体需求,可以进一步优化、扩展代码,实现更复杂的数据库操作功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值