cnprovider.java

来自「辅助办公系统,具有发布公告、站内邮箱、日程安排、日志查看等功能」· Java 代码 · 共 130 行

JAVA
130
字号
package com.x3408.database;

import java.sql.Connection;
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;

public final class CNProvider {

	public static synchronized Connection getConnection() {
		try {
			Context initCtx = new InitialContext();
			Context envCtx = (Context) initCtx.lookup("java:/comp/env");
			DataSource ds = (DataSource) envCtx.lookup("jdbc/SQLPool");
			return ds.getConnection();
		} catch (SQLException e) {
			e.printStackTrace();

		} catch (NamingException e) {
			e.printStackTrace();
		}
		return null;
	}
	
	public static Statement getStatement(){
		Connection conn=getConnection();
		try{
			Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
			return stmt;
		}catch(SQLException e){
			e.printStackTrace();
		}
		return null;
	}
	
	public static void release(ResultSet rst) {
		try {
			rst.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void release(Statement stat) {
		try {
			stat.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void release(PreparedStatement pstat) {
		try {
			pstat.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void release(Connection cn) {
		try {
			cn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void release(ResultSet rs, Statement stat) {
		try {
			rs.close();
			stat.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void release(ResultSet rs, Statement stat, Connection cn) {
		try {
			rs.close();
			stat.close();
			cn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void release(ResultSet rs, PreparedStatement pstat) {
		try {
			rs.close();
			pstat.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void release(ResultSet rs, PreparedStatement pstat,Connection cn) {
		try {
			rs.close();
			pstat.close();
			cn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void release(Statement stat, Connection cn) {
		try {
			stat.close();
			cn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void release(PreparedStatement pstat,Connection cn){
		try {
			pstat.close();
			cn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?