import org.apache.commons.dbcp.BasicDataSourceFactory;
来源:互联网 发布:博库数据 编辑:程序博客网 时间:2024/05/17 08:34
package com.tfy.itheima.jdbc.util;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class DbcpUtil {
private static ThreadLocal<Connection> t1=new ThreadLocal<Connection>();
private static DataSource ds=null;
static{
Properties props=new Properties();
InputStream in=DbcpUtil.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
try {
props.load(in);
ds=BasicDataSourceFactory.createDataSource(props);
} catch (Exception e) {
e.printStackTrace();
throw new ExceptionInInitializerError(e);
}
}
public static DataSource getDataSource(){
return ds;
}
public static Connection getConnection(){
try {
Connection conn=t1.get();
if(conn==null){
conn=ds.getConnection();
t1.set(conn);
}
return conn;
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
public void release(ResultSet rs,Statement stmt,Connection conn){
if(rs!=null){
try{
rs.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(stmt!=null){
try{
stmt.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(conn!=null){
try{
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
public static void commit() {
Connection conn=t1.get();
if(conn!=null){
try{
conn.commit();
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
public static void release() {
Connection conn=t1.get();
if(conn!=null){
try{
conn.close();
t1.remove();
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
public static void startTransaction() {
Connection conn=t1.get();
if(conn==null){
// conn=t1.get();这里取的是t1中的Connection
conn=getConnection();
t1.set(conn);
}
try{
conn.setAutoCommit(false);
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
public static void rollback() {
Connection conn=t1.get();
if(conn!=null){
try{
conn.rollback();
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
}
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class DbcpUtil {
private static ThreadLocal<Connection> t1=new ThreadLocal<Connection>();
private static DataSource ds=null;
static{
Properties props=new Properties();
InputStream in=DbcpUtil.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
try {
props.load(in);
ds=BasicDataSourceFactory.createDataSource(props);
} catch (Exception e) {
e.printStackTrace();
throw new ExceptionInInitializerError(e);
}
}
public static DataSource getDataSource(){
return ds;
}
public static Connection getConnection(){
try {
Connection conn=t1.get();
if(conn==null){
conn=ds.getConnection();
t1.set(conn);
}
return conn;
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
public void release(ResultSet rs,Statement stmt,Connection conn){
if(rs!=null){
try{
rs.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(stmt!=null){
try{
stmt.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(conn!=null){
try{
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
public static void commit() {
Connection conn=t1.get();
if(conn!=null){
try{
conn.commit();
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
public static void release() {
Connection conn=t1.get();
if(conn!=null){
try{
conn.close();
t1.remove();
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
public static void startTransaction() {
Connection conn=t1.get();
if(conn==null){
// conn=t1.get();这里取的是t1中的Connection
conn=getConnection();
t1.set(conn);
}
try{
conn.setAutoCommit(false);
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
public static void rollback() {
Connection conn=t1.get();
if(conn!=null){
try{
conn.rollback();
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
}
- import org.apache.commons.dbcp.BasicDataSourceFactory;
- org.apache.commons.dbcp.SQLNestedException
- 莱鸟学apache DBCP(一)之BasicDataSourceFactory
- org.apache.commons.dbcp.SQLNestedException解决办法
- Struts2 org.apache.commons.dbcp.BasicDataSource
- org.apache.commons.dbcp.BasicDataSource 设置技巧
- org.apache.commons.dbcp.BasicDataSource 资源包下载
- 日记:Cannot find class [org.apache.commons.dbcp.BasicDataSource]问题
- application.xml "org.apache.commons.dbcp.BasicDataSource] not found "
- class"org.apache.commons.dbcp.BasicDataSource"not found解决方案
- java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource的解决方法
- 找不到"org.apache.commons.dbcp.BasicDataSource"的解决方法
- class"org.apache.commons.dbcp.BasicDataSource"not found解决方案
- 报错:java.lang.AbstractMethodError: org.apache.commons.dbcp.PoolingDataSource...
- Cannot find class [org.apache.commons.dbcp.BasicDataSource
- org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory
- Cannot find class [org.apache.commons.dbcp.BasicDataSource]出异常
- org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory
- Win32常用的 类型和宏
- NIOS II 学习第一天:LED流水灯实验中诸多困惑的解决方法
- 在windows下安装python——详解(windows7)
- 2012年终总结
- public void transfer(String sourceAccount,String targetAccount,float money){
- import org.apache.commons.dbcp.BasicDataSourceFactory;
- private QueryRunner qr=new QueryRunner();
- android中的数据库操作
- (转载)密码危机
- 日志格式进化
- hdu1040
- 软件工程总结
- PHP算法之汉诺塔游戏
- C字符串函数