zoukankan      html  css  js  c++  java
  • java-数据库连接工具类 DataSourceUtil.java

    DataSourceUtil.java

    package com.gordon.utils;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import javax.sql.DataSource;
    
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    public class DataSourceUtil {
    	private static ComboPooledDataSource ds = new ComboPooledDataSource();
    
    	/**
    	 * 获取数据源
    	 * 
    	 * @return 连接池
    	 */
    	public static DataSource getDataSource() {
    		return ds;
    	}
    
    	/**
    	 * 获取连接
    	 * 
    	 * @return 连接
    	 * @throws SQLException
    	 */
    	public static Connection getConnection() throws SQLException {
    		return ds.getConnection();
    	}
    
    	/**
    	 * 释放资源
    	 * 
    	 * @param conn
    	 *            连接
    	 * @param st
    	 *            语句执行者
    	 * @param rs
    	 *            结果集
    	 */
    	public static void closeResource(Connection conn, Statement st, ResultSet rs) {
    		closeResultSet(rs);
    		closeStatement(st);
    		closeConn(conn);
    	}
    
    	/**
    	 * 释放连接
    	 * 
    	 * @param conn
    	 *            连接
    	 */
    	public static void closeConn(Connection conn) {
    		if (conn != null) {
    			try {
    				conn.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    			conn = null;
    		}
    
    	}
    
    	/**
    	 * 释放语句执行者
    	 * 
    	 * @param st
    	 *            语句执行者
    	 */
    	public static void closeStatement(Statement st) {
    		if (st != null) {
    			try {
    				st.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    			st = null;
    		}
    
    	}
    
    	/**
    	 * 释放结果集
    	 * 
    	 * @param rs
    	 *            结果集
    	 */
    	public static void closeResultSet(ResultSet rs) {
    		if (rs != null) {
    			try {
    				rs.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    			rs = null;
    		}
    
    	}
    }
    

    参考java实例中的 【综合案例】

  • 相关阅读:
    「JOISC 2020 Day3」收获
    $ ext{Min25}$筛
    [做题记录-图论] [NEERC2017]Journey from Petersburg to Moscow [关于处理路径前$k$大的一种方法]
    [复习笔记]一些有意思的解法技巧 (转 Dpair
    [比赛记录] CSP2021-S 题解
    [转]C++学习心得
    Sigmoid function in NN
    Kernel Regression from Nando's Deep Learning lecture 5
    Python codes
    php中mail()改用msmtp发送邮件
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/7372377.html
Copyright © 2011-2022 走看看