JDBC介绍(二)

ConnectDB
本篇以访问MySql数据库为例,阐述JDBC怎样连接Database>
为了要连接MySQL Database,必须有MySQL JDBC驱动程序,将下载的mysql-connector-java-*.jar加入至CLASSPATH中,这里先以Java Class来示范怎样连接MySQL,Java Class API位于java.sql包中.
要连接MySQL,必须的几个动作:

.加载和注册驱动程序
  通过java.lang.Class包的forName()来加载并向DriverManager注册JDBC驱动程序(驱动程序会自动通过DriverManager.registerDriver()方法注册),MySQL的驱动程序类别是com.mysql.jdbc.Driver,参考下面代码:

try{

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

}

catch(ClassNotFoundException e)

{

      System.out.println(" Not Find The MySQL Database Driver");

}


如果找不到com.mysql.jdbc.Driver,就会抛出ClassNotFoundException异常,这是确定你的CLASSPATH中是否包含了mysql-connector-java-*.jar的位置.
.提供JDBC URL
JDBC URL 定义了连接数据库时的协定,子协定,资料来源等信息:
协定:子协定:资料来源类别
协定在JDBC中总是jdbc的开始;子协定是连接的驱动程序或是数据库管理系统名称,使用MySQL的话是mysql;资料来源类别表示找出数据库来源的位置;MySQL的JDBC URL的格式如下:
jdbc:mysql://主机名称:连接埠/数据库名称?参数1=值1&参数2=值2
主机名称可以是本地localhost或是其他网络连接主机,连接埠为3306,假如要连接GUSETBOOK数据库,并指明访问的名称和密码:
jdbc:mysql://localhost:3306/GUESTBOOK?user=myname&password=123456
如果要使用中文存取的话,还必须给定参数userUnicode及characterEncoding,表明是否使用UNICODE,并指定位元编码方式,例如:
jdbc:mysql://localhost:3306/GUESTBOOK?user=myname&password=123456&userUnicode=true&characterEncoding=GB18030
.从DriverManager取得Connection
要连接数据库,我们可以从DriverManager要求并取得Connection连接串,可以直接给它JDBC URL作为参数并取回Connection连接串
try{
      String url="jdbc:mysql://localhost:3306/GUSTBOOK?"+"user="+strusername+
                     "&password"+strpassword;
      Connection conn=DriverManager.getConnection(url);
      if(!conn.isClosed())
               System.out.println("connection sucessfully");
     conn.close();
}
catch(SQLException e)
{
....
}

取得Connection连接串后,可以测试与数据库的连接是否关闭(isClosed()).
getConnction()方法也提供给定用户名称与密码的方式来定义每个参数;例如:
String url="jdbc:mysql://localhost:3306/GUSTBOOK";
String user="Myname";
String password="123456";
Connection conn=DriverManager.getConnction(url,user,password);
下面举例说明连接一个数据库(DBConnectionDemo.java)
package onlyfun.mydbconnection;
import java.sql.*;

public class DBConnectionDemo{
       public static void main(String[] args){
             String driver="com.mysql.jdbc.Driver";
             String url="jdbc:mysql://localhost:3306/GUSTBOOK";
             String username="myname";
             String password="123456";
             try{
                        Class.forName(driver);
                         Connection conn=DriverManager.getConnection(url,username,password);
                         if(!conn.isClosed())
                                  System.out.println("数据库连接成功");
                         conn.close();
                 }
                catch(ClassNotFoundException e)
               {
                         System.out.println("找不到指定驱动程序:"+driver);
               }
               catch(SQLException e)
               {
                         e.printStactTrace();
                }
      }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值