首页>代码>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日
最近浏览更多
phylory 10月20日
暂无贡献等级
hmf1989 2024年8月23日
暂无贡献等级
genyuan2014  LV6 2024年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日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友