JDBC之静态工厂方法实现可重用连接

开心一笑

昨天去公司对面的大学看学生运动会的接力比赛,只见一个男生奋力向前飞奔,
快交接棒时,我前排的一位老师狂喊:“接稳!接稳!你们接稳!”
然后那两个男生顿了顿,对视着考虑了半秒,接着就抱在一起接吻了……

提出问题

如何使用静态工厂方法管理一个唯一的连接???

解决问题

由于项目使用的数据库是用PostgreSQL,所以需要引入jar包:postgresql-jdbc41.jar

程序:

package com.evada.de;
import java.sql.Connection;
import java.sql.DriverManager;

/**
 * 用静态工厂方法管理一个唯一的可重用的连接
 * Created by Ay on 2016/5/1.
 */
public class ConnUtils{

private ConnUtils(){}
private static Connection con;
//在静态代码块中创建与数据库的连接
static{
    try{
        //postgresql驱动名称
        Class.forName("org.postgresql.Driver");
        //数据库连接路径
        String url = "jdbc:postgresql://127.0.0.1:5432/postgres";
        //用户名和密码
        con = DriverManager.getConnection(url, "postgres", "888888");
    }catch(Exception e){
        throw new RuntimeException(e.getMessage(),e);
    }
}
//使用一个静态方法-静态工厂方法,返回connection实例
public static Connection getCon(){
    return con;
}

//main函数测试用
public static void main(String[] args) {
    Connection Connection = ConnUtils.getCon();
    System.out.println(Connection.getClass().getName());
}
}

结果:

org.postgresql.jdbc4.Jdbc4Connection@3a03464

解释几点:
JDBC 4.0 Drivers 必须包括 META-INF/services/java.sql.Driver 文件。
此文件包含 java.sql.Driver 的 JDBC 驱动程序实现的名称。
例如,要加载 my.sql.Driver 类,META-INF/services/java.sql.Driver 文件需要包含下面的条目:
my.sql.Driver

因为项目是用postgreSQL,如下,看看图片,聪明如我的你应该很快就明白了:

这里写图片描述
这里写图片描述

读书感悟

来自《一公升眼泪》

  • 我想制造出一台时光机,回到过去。

  • 我已经不说什么想回到从前之类地话了,我要 认同现在的自己,然后好好活下去。

  • 虽然曾被无意的目光伤害过,也懂得了还有温 柔目光的存在。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容