通过Driver获取数据库连接

先看一下文件,在当前包下有一个properties配置文件,在根目录下有一个lib文件夹,里面放的是mySql的驱动jar包

Driver :是一个接口,数据库厂商必须提供实现的接口,能从其中获取数据库连接 可以通过Driver的实现类的对象获取数据库连接
* 1.加入mySql驱动
* 1.1 解压mysql-connector-java-5.1.39.zip 1.2 在当前项目下新建lib目录 1.3
* 把mysql-connector-java-5.1.39-bin.jar复制到lib目录下 1.4 右键,buildPath,add to
* buildPath加入到类路径下

第一种方法,不需要配置文件,直接获取数据库连接

 1 @Test
 2     public void testDriver() throws Exception {
 3         // 1.创建一个Driver 的实现类的对象
 4         Driver driver = new com.mysql.jdbc.Driver();
 5         // 2.准备连接数据库的基本信息,url,user,password
 6         String url = "jdbc:mysql://localhost:3306/test";
 7
 8         Properties info = new Properties();
 9         info.put("user", "root");
10         info.put("password", "123456");
11
12         // 3.调用Driver接口的connect(url,info)获取数据库连接
13         Connection connection = driver.connect(url, info);
14
15         System.out.println(connection);//[email protected]
16     }

为了使得程序解耦,并且更加通用,使用如下方案

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

代码:

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 的 connect 方法获取数据库连接.
        Connection connection = driver.connect(jdbcUrl, info);
        return connection;
    }

    @Test
    public void testGetConnection() throws Exception{
        System.out.println(getConnection());//[email protected]
    }

properties文件内容如下

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

driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/test
user=root
password=123456

这样如果想连接其他数据库时,只需修改此文件即可,无需修改代码

时间: 2024-11-05 18:48:13

通过Driver获取数据库连接的相关文章

DButils工具类可以用来获取数据库连接向数据库插入更新删除对象2

package com.ctl.util; import java.awt.Color; import java.awt.Font; import java.awt.Insets; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.*; import java.lang.reflect.*; import java.sql.*; import java.text.SimpleD

ThreadLocal,LinkedBlockingQueue,线程池 获取数据库连接

<pre name="code" class="java">package com.ctl.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Random; import java.util.concurrent.LinkedBlockingQueue; import java.ut

ThreadLocal,LinkedBlockingQueue,线程池 获取数据库连接2改进

package com.ctl.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Random; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; import com.ctl.util.ConfigU

获取数据库连接对象的工具类

mysql连接对象 jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/查找的文件jdbc.user=rootjdbc.password=自己设置的密码 oracle连接对象 jdbc.driver=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc:oracle:thin:@localhost:1521:orcljdbc.user=scottjdbc.password=

使用DriverManager获取数据库连接的一个小改进

由于使用DriverManager获取数据库连接时,由于DriverManager实现类中有一段静态代码块,可以直接注册驱动,且可以同时管理多个驱动程序 所以当换数据库连接时需要指定不同的数据库,那么就需要反复修改properties配置文件(虽然并不麻烦),所以我想将每种驱动连接程序的properties文件都写好 具体当进行连接时,再加一个配置文件,这个配置文件中指定传入哪个properties文件 先来看一下文件路径(图片复制粘贴为何不好使了!!!!) src com.jdbc.java

使用DriverManager获取数据库连接

DriverManager 是驱动的管理类 * 1).可以通过重载的getConnection() 方法获取数据库连接,较为方便 * 2).可以同时管理多个驱动程序,若注册了多个数据库连接,则调用getConnection() 方法时 * 传入的参数不同,即返回不同的数据库连接. 1 public Connection getConnection2() throws Exception { 2 // 准备连接数据库的四个字符串 3 // 驱动的全类名 4 String driverClass =

启动服务时获取数据库连接

以TOMCAT6配置方式为例 第一步,在tomcate/conf/context下面加入以下资源定义标签,包含JNDI命名,授权,类型,数据库驱动类,数据库连接路径,帐号,密码,最大活动数,最小空闲数,最大等待数等信息 <Resource name="jdbc/mydb" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver

JDBC(1)——获取数据库连接

主要讲通过 DriverManager 连接 DriverManager 是驱动的管理类.  1). 可以通过重载的 getConnection() 方法获取数据库连接. 较为方便 2). 可以同时管理多个驱动程序: 若注册了多个数据库连接, 则调用 getConnection()     方法时传入的参数不同, 即返回不同的数据库连接. //1. 准备连接数据库的 4 个字符串. //驱动的全类名. String driverClass = "com.mysql.jdbc.Driver&quo

JAVA jdbc获取数据库连接

JDBC获取数据库连接的帮助类 1 import java.io.InputStream; 2 import java.sql.Connection; 3 import java.sql.DriverManager; 4 import java.sql.ResultSet; 5 import java.sql.Statement; 6 import java.util.Properties; 7 8 public class jdbcUtil { 9 10 private static Stri