一、利用Class.forName函数(用java开发B/S模式的程序)
1.代码如下:
//注册驱动程序 public boolean connectDb() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); return true; } catch (ClassNotFoundException e) { System.out.println(e); return false; } } //获取连接 private Connection getConn(){ try{ connection=DriverManager.getConnection(url,user,password); }catch(Exception e){ System.out.println(e); } return connection; }
2.前提条件:
JDK的安装及环境变量的配置此处不再赘述;
将oracle安装目录下的jdbc下的classes12.jar文件拷贝到tomcat目录下的common/lib/下面,否则会抛出ClassNotFoundException;
url,user,password视开发环境而定
二、利用DriverManager.registerDriver函数(开发C/S模式的程序时)
1.代码如下:
public Connection connectDatabase(){ try{ DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); conn=DriverManager.getConnection("jdbc:oracle:thin:@172.16.1.52:1521:orcl","scott","test"); }catch (SQLException e){ System.out.println("caught:/n"+e); System.exit(1); } return conn; }
2.前提条件:
JDK的安装及环境变量的配置此处不再赘述;
import.java.sql.*;
三、一点说明
1.如果在第一种情况下用第二种情况提供的方法,编译不能通过。
2.如果在第二种情况下用第一种提供的方法编译能够通过,但是运行时会报oracle.jdbc.driver.OracleDriver,找不到的异常。
3.建议开发不同的模式,采用不同的注册驱动的方法。
4.加载驱动时都要捕获异常,当然可以都用Exception类,如果更详细的话,第一种情况下,捕获ClassNotFoundException,第二种情况下捕获SQLException异常,分别采取相应的处理方式。