JDBC 获取 Oracle 数据库连接(使用 Driver)

获取数据库连接的方法:

1. Driver 接口:

?Java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现

?在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现

2. 加载与注册JDBC 驱动:

?加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名

?DriverManager 类是驱动程序管理器类,负责管理驱动程序

?通常不用显式调用 DriverManager 类的 registerDriver() 方法来注册驱动程序类的实例,因为 Driver 接口的驱动程序类都包含了静态代码块,在这个静态代码块中,会调用 DriverManager.registerDriver() 方法来注册自身的一个实例

3. 建立连接: 

?可以调用 DriverManager 类的 getConnection() 方法建立到数据库的连接

?JDBC URL 用于标识一个被注册的驱动程序,驱动程序管理器通过这个 URL 选择正确的驱动程序,从而建立到数据库的连接。

?JDBC URL的标准由三部分组成,各部分间用冒号分隔。

jdbc:<子协议>:<子名称>

协议:JDBC URL中的协议总是jdbc

子协议:子协议用于标识一个数据库驱动程序

子名称:一种标识数据库的方法。子名称可以依不同的子协议而变化,用子名称的目的是为了定位数据库提供足够的信息

 

public Connection getConnection() throws Exception{
  String driverClass = null;
  String jdbcUrl = null;
  String user = null;
  String password = null;
  
  InputStream in =
    getClass().getClassLoader().getResourceAsStream("jdbc.properties");
  Properties properties = new Properties();
  properties.load(in);
  driverClass = properties.getProperty("driver");
  jdbcUrl = properties.getProperty("jdbcUrl");
  user = properties.getProperty("user");
  password = properties.getProperty("password");
  
  // 通过反射创建 Driver 对象
  Driver driver =
    (Driver) Class.forName(driverClass).newInstance();
  
  Properties info = new Properties();
  info.put("user", user);
  info.put("password", password);

// 通过 Driver 的connect 方法获取数据库连接
  Connection connection = driver.connect(jdbcUrl, info);
  
  return connection;
 }
 
 
@Test
 public void testGetConnection() throws Exception{
  System.out.println(getConnection());
 }

 

//  jdbc.properties 文件

driver=oracle.jdbc.driver.OracleDriver
jdbcUrl=jdbc:oracle:thin:
@localhost :1521:orcl
user=scott
password=tiger

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。