首页>代码>java开发Web版本ip登记管理系统软件源码>/xipv/src/com/bjpowernode/drp/DBUtil.java
package com.bjpowernode.drp;

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.sql.DataSource;

/**
 * 数据库工具类
 * @author Administrator
 *
 */
public class DBUtil {

	/**
	 * 取得数据库连接
	 * @return
	 */	
	public static Connection getConnection() {
		Connection conn = null;
		try {
			//取得jdbc配置信息
			JdbcInfo jdbcInfo = ConfigReader.getInstance().getJdbcInfo();
			Class.forName(jdbcInfo.getDriverName());
			conn = DriverManager.getConnection(jdbcInfo.getUrl(), jdbcInfo.getUsername(), jdbcInfo.getPassword());
		} catch (ClassNotFoundException e) {
			//记录日志可以将类不能找记录进去,这样可以更准确的定位问题
			//但是给用户不应该抛出类不能找到,应该抛出用户能够理解的错误
			e.printStackTrace();
			throw new AppException("系统出现故障,请联系系统管理员!");
		} catch (SQLException e) {
			e.printStackTrace();
			throw new AppException("系统出现故障,请联系系统管理员!");
		}
		return conn;
	}
	
	public static void close(PreparedStatement pstmt) {
		if (pstmt != null) {
			try {
				pstmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void close(Connection conn) {
		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}	
		}
	}
	
	public static void close(ResultSet rs) {
		if (rs != null) {
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void commit(Connection conn) {
		if (conn != null) {
			try {
				conn.commit();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void rollback(Connection conn) {
		if (conn != null) {
			try {
				conn.rollback();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void setAutoCommit(Connection conn, boolean autoCommit) {
		if (conn != null) {
			try {
				conn.setAutoCommit(autoCommit);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void close(Statement stmt) {
		if (stmt != null) {
			try {
				stmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	
	public static void main(String[] args) {
		DBUtil.getConnection();
		System.out.println("---------ok---------");
	}
}
最近下载更多
gogola  LV1 2022年3月17日
coolliyi  LV1 2022年1月27日
1760014638  LV1 2022年1月4日
nsz123456  LV11 2021年12月5日
yqzzcj  LV1 2021年9月9日
zm312463  LV1 2021年4月20日
徐梓轩  LV8 2020年11月16日
putifeishu108  LV7 2020年8月11日
Crrrrryttt  LV3 2020年6月2日
自行车_1  LV7 2020年4月17日
最近浏览更多
hmf1989 8月23日
暂无贡献等级
genyuan2014  LV6 5月7日
WBelong  LV8 2023年12月18日
G0200887 2023年10月22日
暂无贡献等级
暂无贡献等级
wbx666  LV1 2023年9月18日
asadda  LV2 2023年6月27日
pangzhihui  LV14 2023年6月2日
1073931745  LV1 2022年12月13日
微信网友_6248713511227392  LV11 2022年12月5日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友