- 2
- 0
- 约2.29万字
- 约 3页
- 2017-06-08 发布于河南
- 举报
JDBC工具类(JDBC数据库链接工具类)
package com.tlw.util;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* Jdbc工具类
* @author TongLingwei
*
*/
public class JdbcUtil {
//创建一个Property类的对象, 用于读取proprties文件
private static Properties prop = new Properties();
//创建一个TheadLocal类的对象, 用于存放当前线程正在使用的Connection
private static final ThreadLocalConnection tl = new ThreadLocalConnection();
//静态代码块用于在类加载的时候读取配置文件
static {
//去读取config.properties文件中关于数据库信息的配置,下面是一个config.properties文件的内容示例(以mysql为例)
/**
* driver=com.mysql.jdbc.Driver
* url=jdbc:mysql://localhost/database
* username=root
* password=123
*/
InputStream in = JdbcUtil.class.getResourceAsStream(config.properties);
try {
prop.load(in);
} catch (IOException e) {
e.printStackTrace();
throw new ExceptionInInitializerError(e);
}
}
//获得当前线程正在使用的Connection
public static Connection getConnection() throws SQLException {
Connection conn = tl.get();
if(conn == null || conn.isClosed()) {
try {
//利用反射加载一个驱动类, 然后创建连接并把链接保存到ThreadLocal的实例中 (该驱动类及数据库链接信息通过prop获取)
Class.forName(prop.getProperty(driver));
conn = DriverManager.getConnection(prop.getProperty(url),prop.getProperty(username),prop.getProperty(password));
tl.set(conn);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
//施放资源的方法
public static void release(ResultSet rs, Statement stm, Connection conn) {
try {
if(rs != null) rs.close();
if(stm != null) stm.close();
if(conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
您可能关注的文档
- 01模电基础.ppt
- .Net Framework .NET2.0 3.0 3.5 4.0区别 Net Framework各个版本区别.doc
- .Net下XML文档的读写操作.docx
- 098闻见近录 (宋)王巩 著.doc
- 15章中英文.doc
- 2008英语四级完型填空模拟训练1.doc
- 1972国际海上避碰规则.doc
- 2013成教专业英语复习题.doc
- 2011_初一生物_生物的恒定性.doc
- 2013版土力学教学大纲(土木工程专业).doc
- 旗委办副主任2025年度五个带头民主生活会个人对照检查材料(带案例).docx
- (8篇)领导班子带头固本培元、增强党性方面存在的问题及下一步整改措施“五个带头”.docx
- 支队党支部班子“加强理论武装、执行上级组织决定、做好群众工作“等六个方面2026年组织生活会班子对照检查材料.docx
- 带头固本培元、增强党性方面存在的问题及下一步整改措施(“五个带头”8篇精选).docx
- 县纪委书记2025年度五个带头民主生活会对照检查材料.docx
- 县纪委书记在2025年度五个带头民主生活会会前集中学习研讨发言材料.docx
- 《单片机原理及接口技术——基于C51+Proteus仿真(第2版)》全套教学课件.pptx
- 2025年度民主生活会个人对照检查发言材料 八篇.docx
- 2025年度专题民主生活会对照检查材料八篇.docx
- 《新能源汽车驱动电机构造与检修》中职全套教学课件.pptx
最近下载
- 新改版教科版四年级上册科学全册精编知识点(背诵用).pdf
- 武汉大学 2013 – 2014 学年第一学期《线性代数 B》(工科 54 学时) 期末试题.docx VIP
- 2024年邮政营业员高级技师资格证考试题库及答案2.docx VIP
- 温泉度假酒店员工培训手册.pdf VIP
- 铀矿石浓缩物分析方法第1部分硫酸亚铁还原重铬酸钾滴定法测定铀.pdf VIP
- 2024年邮政营业员高级技师资格证考试题库及答案6.docx VIP
- 自体输血管理制度与技术规范.docx
- 武汉大学 2012 – 2013 学年第二学期《线性代数 B》(工科 54 学时) 期末试题.docx VIP
- 皖2014J301民用建筑常用饰面.pdf VIP
- 2025年全国甲卷英语高考试题及答案.docx VIP
原创力文档

文档评论(0)