mysql的connection对象_4.3.1 通过Connection对象建立数据库连接

4.3.1  通过Connection对象建立数据库连接

Connection对象代表与数据库的连接。连接过程包括所执行的SQL语句和在该连接上所返回的结果。一个应用程序可与单个数据库有一个或多个连接,或者可与许多数据库有连接。

6f33419c2315f6df489765f59fd8f785.png

图4-2  JDBC API结构关系图

1. JDBC连接URL

JDBC URL提供了一种标识数据库的方法,可以使相应的驱动程序能识别该数据库并与之建立连接。JDBC URL的标准语法如下所示。它由三部分组成,各部分间用冒号分隔:::

:JDBC URL中的协议总是jdbc。

:驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称。子协议名的典型示例是"odbc",该名称是为用于指定ODBC风格的数据资源名称的URL专门保留的。

:包含要连接数据库的名称、用户名、密码等信息。

例如:为了通过JDBC-ODBC 桥来访问某个数据库,可以用如下所示的 URL:jdbc:odbc:TEST

其中,子协议为"odbc",子名称"TEST"是本地ODBC 数据资源。

下例是MySQL的连接URL:jdbc:mysql://localhost/db?user=root&password=123&useUnicode=true&characterEncoding=utf-8

其中的子协议为"mysql",后面的字符串表示连接MySQL的相关信息。其中"localhost"表示MySQL的主机地址,"db"表示数据库名,user参数表示用户名,password表示密码,useUnicode表示连接的编码方式。

下例是Oracle的连接URL:jdbc:oracle:thin:@localhost:1521:orcl

其中,"oracle:thin"表示连接子协议,"localhost"表示Oracle的主机地址,"1521"表示连接端口,"orcl"表示连接的Oracle服务名。

下例是SQLServer的连接URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs

其中,"micorsoft:sqlserver"表示连接子协议,"localhost"表示SQLServer的主机地址,"1433"表示连接端口,"pubs"表示连接的数据库名。

2. 使用DriverManager管理驱动类

DriverManager类是JDBC的管理层,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。一般需要直接使用的***方法是DriverManager.getConnection。正如名称所示,该方法将建立与数据库的连接。

在取得连接之前,需要注册驱动程序。通过调用方法Class.forName,这将显式地加载驱动程序类。以下代码分别加载连接ODBC、MySQL、Oracle、SQLServer的驱动类:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Class.forName("com.mysql.jdbc.Driver");

Class.forName("oracle.jdbc.driver.OracleDriver");

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

3. 取得Connection连接

我们可以通过驱动管理类DriverManager的下面的方法取得数据库连接对象:DriverManager.getConnection(url,username,password);

它包含三个参数,分别为连接的URL、数据库用户名和密码。如果不需要用户名和密码,可以忽略后两个参数。

当调用DriverManager.getConnection方法发出连接请求时,DriverManager将检查每个驱动程序,查看它是否可以建立连接。

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

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

以下的代码是通常情况下用驱动程序(例如JDBC-ODBC桥驱动程序)建立连接所需的所有步骤的示例:Stringurl="jdbc:odbc:TEST"; //JDBC URL

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

Connectionconn=DriverManager.getConnection

(url, "userID", "passwd"); //取得连接

4. 连接管理

一旦取得一个数据库连接,就在物理上与数据库建立了一个通路,此时可以通过该连接对象来查看数据库信息、查询数据库数据、修改数据等。并在完成一些列操作后使用下面的函数关闭数据库连接:conn.close();

该对象还可以通过以下的方法进行事务管理:

设置不自动提交:conn.setAutoCommit(false);

提交数据:conn.commit();

回滚数据:conn.rollback();

设置自动提交:conn.setAutoCommit(true)。

并可以利用Connection对象的其他方法来取得各种其他的对象,请看下文。

【责任编辑:云霞 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值