通过Driver接口获取数据库连接【佟刚版】


一、前序

1、JDBC API是一系列的接口

   1- Driver--Connection--Statement--Result

二、通过Driver接口获取数据库连接

1、搭建步骤:

     1- 创建一个包,创建一个工具类

通过Driver接口获取数据库连接【佟刚版】

     2- 加入oracle驱动:

       *  1.首先在项目目录下建立一个lib文件夹,添加驱动
       *  2.在Oracle安装目录下找到ojdbcd的驱动
       *  3.右击build-path下,add to buildpath添加到类根目录下

通过Driver接口获取数据库连接【佟刚版】

    3、编码具体如下:

package com.stomost.jdbc;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.SQLException;
import java.util.Properties;

import oracle.jdbc.OracleDriver;

import org.junit.Test;

public class JDBCTest {
    /**
     * Driver是一个接口,数据库厂商必须提供实现的接口,能从中获取数据库。
     * 可以通过Driver的实现类对象获取数据库连接。
     *
     * @throws SQLException
     */
    @Test
    public void testDriver() throws SQLException {
        //1、创建一个Driver实现类对象
        Driver driver = new OracleDriver();
        
        //2、准备连接数据库的基本信息:url、user、password
        String url = "jdbc:oracle:thin:@localhost:1521:orcl"; //链接字符串
        Properties info = new Properties();
        info.put("user","point");
        info.put("password","789");
        
        //3、调用Driver 接口的 connect(url,info)获取数据库连接
        Connection connection=driver.connect(url, info);
        System.out.print(connection);
    }

}


2、解耦修改


1、需求修改:

    /**
     * 编写一个通用的方法,在不修改程序的情况下,可以获取任何数据库的连接
     * 解决方案:
     * 1-把数据库驱动Driver,实现类的全类名、url、user、password放入一个配置文件中,
     * 2-通过修改配置文件的方式实现和具体的数据库解耦
     * @throws Exception
     */

2、编码如下:

    public Connection getConnection() throws Exception{
        String driverClass = null;
        String jdbcUrl = null;
        String user = null;
        String password = null;
        //读取类路径下的jdbc.properties文件
        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的connction方法获取数据库
        Connection connection =driver.connect(jdbcUrl, info);
        return connection;
    }
    @Test
    public void testGetConnection() throws Exception{
        System.out.println(getConnection());
    }


porperties文件

driver=oracle.jdbc.driver.OracleDriver
jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl
user=point
password=789



第一次写,希望朋友们指点一下。如果有哪里不明白的,可以留言,谢谢大家