注册jdbc驱动程序的三种方式

http://blog.163.com/gaoyun_lu/blog/static/614070212011112535529217/

1、比较常用

try{

       Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动

       String url="jdbc:mysql://localhost:3306/databasename";//数据库连接子协议

       Connection conn=DriverManager.getConnection(url,"username","password");

       Statement stmt=conn.createStatement();

       ResultSet rs=stmt.executeQuery("select * from tablename");

       while(rs.next()){//不断指向下一条记录

            System.out.println("DeptNo:"+rs.getInt(1));

            System.out.println("\tDeptName:"+rs.getString(2));

            System.out.println("\tLOC:"+rs.getString(3));

}         

    rs.close();

    stmt.close();

    conn.close();

}catch(ClassNotFoundException e){

   System.out.println("找不到指定的驱动程序类!");

}catch(SQLException e){

    e.printStackTrace();

}



2、通过系统的属性设置

try{

       System.setProperty("jdbc.driver","com.mysql.jdbc.Driver");//系统属性指定数据库驱动

       String url="jdbc:mysql://localhost:3306/databasename";//数据库连接子协议

       Connection conn=DriverManager.getConnection(url,"username","password");

       Statement stmt=conn.createStatement();

       ResultSet rs=stmt.executeQuery("select * from tablename");

       while(rs.next()){//不断指向下一条记录

            System.out.println("DeptNo:"+rs.getInt(1));

            System.out.println("\tDeptName:"+rs.getString(2));

            System.out.println("\tLOC:"+rs.getString(3));

}         

    rs.close();

    stmt.close();

    conn.close();

}catch(SQLException e){

    e.printStackTrace();

}


//方法2的思想:http://blog.sina.com.cn/s/blog_7598036901016fcd.html

在方法2中:我们首先System.setProperty("jdbc.driver","com.mysql.jdbc.Driver");把我们需要的jdbc驱动程序添加到了jdbc.drivers系统属性中(在这里我们可以同时添加多个驱动程序,用:号隔开即可),再调用DriverManager.getConnection方法获取连接时系统实际是在DriverManager的静态方法loadInitialDrivers方法中加载我们第一行中注册的驱动程序,并向DriverManager注册的!

loadInitialDrivers方法中加载并初始华系统属性中配置的驱动程序!使用下列语句:

                Class.forName(driver,true,ClassLoader.getSystemClassLoader());

即方法1和方法2都是调用Class.forName()加载数据库驱动com.mysql.jdbc.Driver。


Class.forName

在Class.forName中,http://blog.sina.com.cn/s/blog_823ecaee0100uawr.html

com.mysql.jdbc.Driver的静态语句块中:java.sql.DriverManager.registerDriver(new Driver());实现了注册。


3、看起来比较直观的一种方式,注册相应的db的jdbc驱动,3在编译时需要导入对应的lib

try{

       new com.mysql.jdbc.Driver();//创建driver对象,加载数据库驱动

       String url="jdbc:mysql://localhost:3306/databasename";//数据库连接子协议

       Connection conn=DriverManager.getConnection(url,"username","password");

       Statement stmt=conn.createStatement();

       ResultSet rs=stmt.executeQuery("select * from tablename");

       while(rs.next()){//不断指向下一条记录

            System.out.println("DeptNo:"+rs.getInt(1));


方法3和方法1没有多少区别。只是加载数据库驱动的方法不同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值