java 实现 JDBCUtil连接mysql8.0.15

1.通过单例实现提供jdbc的连接和流关闭

package cn.itsource.util;

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 java.util.Properties;

public class JDBCUtil {
	// 单例
	private JDBCUtil(){}
	private static JDBCUtil instance;
	private static Properties prop = new Properties();
	static{
		instance = new JDBCUtil();
		try {
			prop.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties"));
			Class.forName(prop.getProperty("DriverClass"));
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}	
	}
	public static JDBCUtil getInstacnce(){ // 提供公共可访问的方法
		return instance;
	}
	// 获取连接
	public Connection getConn(){
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(prop.getProperty("url"), prop.getProperty("username"),  prop.getProperty("password"));
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
	// 关闭连接
	public void close(Connection conn, PreparedStatement st, ResultSet rs){
			try {
				if(rs != null)
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				try {
					if(st != null)
					st.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}finally{
					try {
						if(conn != null)
						conn.close();
					} catch (SQLException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
	}
}

2.通过枚举实现jdbc连接

package cn.itsource.util;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.sql.ResultSet;
import java.sql.Statement;

public enum JDBCUtil {
	instance;
	static Properties p = new Properties();
	static{
		try {
			InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties");
			p.load(inputStream);
			Class.forName(p.getProperty("DriverClass"));
		} catch (Exception e) {
			// TODO: handle exception
		}	
	}
	public Connection getConn(){
		Connection connection = null;
		try {
			connection = DriverManager.getConnection(p.getProperty("url"), p.getProperty("username"), p.getProperty("password"));
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return connection;
	}
	
	public void Close(Connection conn, Statement statement, ResultSet rs){
		try {
			if (rs != null) rs.close();
		} catch (SQLException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}finally {	
			try {
				if (statement != null) statement.close();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				try {
					if(conn != null) conn.close();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}
}

 

你可能感兴趣的:(java基础)