📄 connectionmanager.java
字号:
/*
* Created on 2007-05-31
* Last modified on 2007-06-03
* Powered by YeQiangWei.com
*/
package com.yeqiangwei.club.passport.conn;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
import com.yeqiangwei.util.Validator;
public class ConnectionManager {
private static final Logger logger = Logger.getLogger(ConnectionManager.class);
private static ThreadLocal<Connection> threadLocalConnection = new ThreadLocal<Connection>();
public static Connection getConnection() {
Connection connection = null;
if(!Validator.isEmpty(ConnectionCfg.CONFIG.getConn_datasource())){
try {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(ConnectionCfg.CONFIG.getConn_datasource());
connection = ds.getConnection();
} catch (NamingException e) {
logger.error(e.toString());
} catch (SQLException e) {
logger.error(e.toString());
}
}else{
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
String gvDriver = ConnectionCfg.CONFIG.getConn_url();
connection = DriverManager.getConnection(gvDriver
,ConnectionCfg.CONFIG.getConn_username()
,ConnectionCfg.CONFIG.getConn_password());
} catch (ClassNotFoundException e) {
logger.error(e.toString());
} catch (SQLException e) {
logger.error(e.toString());
}
}
return connection;
}
public static Connection currentConnection(){
Connection conn = threadLocalConnection.get();
if(Validator.isEmpty(conn)){
conn = getConnection();
threadLocalConnection.set(conn);
}
return conn;
}
/**
* 设置关闭方法
*/
public static void closeConnection(){
Connection c = threadLocalConnection.get();
threadLocalConnection.set(null);
try{
if(c!=null){
c.close();
}
c = null;
}catch(Exception e){
logger.error(e.toString());
}
}
public static void close(PreparedStatement p){
try{
if(p!=null) p.close();
}catch(Exception e){
logger.error(e.toString());
}
}
public static void close(ResultSet r){
try{
if(r!=null) r.close();
}catch(Exception e){
logger.error(e.toString());
}
}
public static void close(Statement r){
try{
if(r!=null) r.close();
}catch(Exception e){
logger.error(e.toString());
}
}
public static void rollBack(Connection con){
try {
con.rollback();
} catch (SQLException e) {
logger.error(e.toString());
}
}
public static void close(CallableStatement c) {
try {
if(c!=null)
c.close();
} catch (SQLException e) {
logger.error(e.toString());
}
}
public static void beginTransaction() throws SQLException{
Connection conn = currentConnection();
conn.setAutoCommit(false);
}
public static void commit() throws SQLException{
Connection conn = currentConnection();
conn.setAutoCommit(true);
}
public static void rollback() throws SQLException{
Connection conn = currentConnection();
conn.rollback();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -