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

由于使用DriverManager获取数据库连接时,由于DriverManager实现类中有一段静态代码块,可以直接注册驱动,且可以同时管理多个驱动程序

所以当换数据库连接时需要指定不同的数据库,那么就需要反复修改properties配置文件(虽然并不麻烦),所以我想将每种驱动连接程序的properties文件都写好

具体当进行连接时,再加一个配置文件,这个配置文件中指定传入哪个properties文件

先来看一下文件路径(图片复制粘贴为何不好使了!!!!)

src

  com.jdbc.java

    TestJDBC.java

  properties

    jdbcName.properties

    mySql.properties

反正大体是这样了,第一层是包,下面是各种文件

代码如下

/**
     * 指定一个配置文件中进行选择使用哪个配置文件(好绕口。。。)
     *
     * @return
     * @throws Exception
     */
    public Connection getConnection3() throws Exception {
        // 准备连接数据库的四个字符串
        // 驱动的全类名
        String driverClass = null;
        String jdbcUrl = null;
        String user = null;
        String password = null;
        String jdbcName = null;
        // 读取jdbcName.properties文件
        InputStream inStream = getClass().getClassLoader().getResourceAsStream("properties/jdbcName.properties");
        Properties propertiesOfName = new Properties();
        propertiesOfName.load(inStream);
        jdbcName = propertiesOfName.getProperty("jdbcName");
        // 读取需要的properties 文件
        InputStream in = getClass().getClassLoader().
                getResourceAsStream("properties/" + jdbcName + ".properties");
        Properties properties = new Properties();
        properties.load(in);
        driverClass = properties.getProperty("driver");
        jdbcUrl = properties.getProperty("jdbcUrl");
        user = properties.getProperty("user");
        password = properties.getProperty("password");

        // 加载数据库驱动程序(注册驱动)
        Class.forName(driverClass);

        Connection connection = DriverManager.getConnection(jdbcUrl, user, password);
        return connection;
    }

测试代码如下

@Test
    public void testGetConnection3() throws Exception {
        System.out.println(getConnection3());
    }

结果如下

[email protected]

需注意的问题:这种方式指定properties文件时不能选择相对路径,会报错

jdbcName.properties中的代码如下

jdbcName=mySql

这里的代码是不是非常简洁,只需把各种什么mySql,Oracle之类的配置文件写好,然后想用哪个来这个配置文件中把名字一改就行,改动非常小(懒人专用~)

时间: 2024-10-12 21:16:15

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

使用DriverManager获取数据库连接

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

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

用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr

JavaScript网站设计实践(七)编写最后一个页面 改进表单

原文:JavaScript网站设计实践(七)编写最后一个页面 改进表单 一.最后一个页面 contact.html.改进表单 在该页面实现的功能: 几乎所有的网站都会有表单填写,对于用户输入和填写的数据,首先我们一般现在前台验证,然后再去后台验证. 在前台最简单的验证:检查必填字段是否填写.填写格式是否符合要求等. 每个表单里面,当获取到输入焦点时,令提示文本消失 现在开始动手来写. 1.实现思路 (1)在这个表单里会验证的是必填字段和邮箱格式是否正确.首先,把判断必填字段和邮箱格式分别写在两个

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

电商总结(八)如何打造一个小而精的电商网站架构

前面写过一些电商网站相关的文章,这几天有时间,就把之前写得网站架构相关的文章,总结整理一下.把以前的一些内容就连贯起来,这样也能系统的知道,一个最小的电商平台是怎么一步步搭建起来的.对以前的文章感兴趣的朋友可以看这个,http://www.cnblogs.com/zhangweizhong/category/879056.html 本文大纲: 1. 小型电商网站的架构 2. 日志与监控系统的解决方案 3. 构建数据库的主从架构 4. 基于共享存储的图片服务器架构 5. 移动M站建设 6. 系统容

Mybatis深入之获取数据库连接

Mybatis深入之获取数据库连接 简介 主要记录Mybatis何时获取数据库连接以及获取数据库连接的过程.难点在于明白在使用Mybatis数据库连接池情况下的数据库连接的获取过程. 何时获取数据库连接 Mybatis只有在真正执行sql操作的时候才会去获取数据库连接.至于如何验证: 不深入源码 简单来讲就是有意将数据库配置信息写成.在一个sql执行过程中看哪一步抛数据库连接异常. public static void main(String[] args) throws Exception {

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

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=

JPA项目的一个小模块案例

最近在做一个Web项目,找一个小的模块来做笔记,稍微整理下,嗯,入题了 整个项目所用框架大致如下:后台>Struts+Spring+JPA; 前台>jgGrid 下面是整个项目的后台功能逻辑部分: 下面是前台页面展示部分: 这是系统所用到的jar包: 因为用到struts标签所以需要引入一下文件(前面为路径): 1.  b/WebRoot/WEB-INF/struts-bean.tld 2.  b/WebRoot/WEB-INF/struts-html.tld 3.  b/WebRoot/WE