获取数据库连接对象(包括线程)
Posted 勇往直前
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取数据库连接对象(包括线程)相关的知识,希望对你有一定的参考价值。
/** * 负责数据库连接定义的程序类 * 该类可以负责所有操作线程的数据库连接,利用get()方法可以获得连接对象 */ public class DatabaseConnection { private static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ; private static final String DBURL = "jdbc:oracle:thin:@localhost:1521:orcl" ; private static final String USER = "scott" ; private static final String PASSWORD = "tiger" ; private static ThreadLocal<Connection> threadLocal = new ThreadLocal<Connection>() ; /** * 负责对外部提供获取的数据库连接对象,该对象通过ThreadLocal获取,如果当前线程没有保存的连接对象,则创建新的连接 * @return 连接对象 */ public static Connection getConnection() { Connection conn = threadLocal.get() ; // 先判断一下在ThreadLocal里是否有连接对象 if(conn == null) { // 第一次使用,没有连接,没有连接应该创建一个连接 conn = connectionDatabase() ; // 获取连接对象 threadLocal.set(conn); // 将刚刚创建好的连接对象保存在ThreadLocal之中 } return conn ; // 返回连接对象 } /** * 进行数据库的关闭处理。 */ public static void close() { Connection conn = threadLocal.get() ; if (conn != null) { // 现在有连接对象了 try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } threadLocal.remove(); // 从当前线程之中删除掉指定连接 } } /** * 负责创建一个数据库连接对象 * @return 数据库连接的实例化对象 */ private static Connection connectionDatabase() { // 该方法只能本类调用 Connection conn = null ; try { // 一旦连接出现了错误,整个程序都无发执行 Class.forName(DBDRIVER) ; conn = DriverManager.getConnection(DBURL, USER, PASSWORD) ; } catch (Exception e) { e.printStackTrace(); } return conn ; // 获得数据库连接对象 } }
以上是关于获取数据库连接对象(包括线程)的主要内容,如果未能解决你的问题,请参考以下文章
C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段