⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbcontrol.java

📁 基于Spring2.5的精品课程网站
💻 JAVA
字号:
package org.adam.DataSource;
/**
 * 数据库链接类,使用单态设计模式。
 * */
import java.sql.CallableStatement;
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.sql.DataSource;

public class DBControl {
		
		private Connection conn;
		public ResultSet result=null; 
		private static String jndi_name= "java:comp/env/jdbc/goodsubject";
		
		
		public static synchronized Connection getConnection()
		{
			Connection conn=null;
			DataSource ds = null;	
			Context ctx;
			try {
				ctx = new InitialContext();
				ds = (DataSource)ctx.lookup(jndi_name);
				conn = ds.getConnection();
			} catch (Exception e) {
				System.err.println(e.getMessage()+"连接失败!");
			}
			return conn;
		}
		
		/*获取查询结果*/
		public ResultSet getResult(String query_statement,String[] param) 
		{
		try
			{
			conn = getConnection();
			PreparedStatement select_stm=conn.prepareStatement(query_statement,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
			if (param!=null)
				for(int i=0;i<param.length;i++)
					select_stm.setString(i+1,param[i]);
					result=select_stm.executeQuery(); 
			}catch(Exception e){
					System.err.println(e.getMessage()+"没有获得结果集");
				}
					return result;
			}

		/*对数据库进行增加记录操作*/ 
		public boolean insertRecord(String query_statement,String[] param) throws SQLException,java.io.UnsupportedEncodingException
		{
		try{
			conn=getConnection();
			PreparedStatement insert_stm=conn.prepareStatement(query_statement);
			if (param!=null)
				for(int i=0;i<param.length;i++)
					insert_stm.setString(i+1,param[i]);
					insert_stm.executeUpdate();
					insert_stm.close();
					conn.commit();
		}
			catch(Exception e)
			{
				System.err.println(e.getMessage()+"插入数据失败");
				conn.rollback();
				return false;
			}finally{
				closeConnection();	
			} 
			return true;
		}

		/*对数据记录进行更改操作*/ 
		public boolean updateRecord(String query_statement,String[] param) throws SQLException,java.io.UnsupportedEncodingException
		{
		try{
			PreparedStatement update_stm=conn.prepareStatement(query_statement);
			if (param!=null)
				for (int i=0;i<param.length;i++)
					update_stm.setString(i+1,param[i]);
					update_stm.executeUpdate();
					update_stm.close();
					conn.commit();
			}catch(Exception e){
				System.err.println(e.getMessage()+"更新数据失败!");
				conn.rollback();
				return false;
			}finally{
				closeConnection();
			}
				return true;
		}
		
		/*删除数据记录*/ 
		public boolean deleteRecord(String query_statement,String[] param) throws SQLException,java.io.UnsupportedEncodingException
		{
		try
		{
			conn=getConnection();
			PreparedStatement delete_stm=conn.prepareStatement(query_statement);
			if (param!=null)
				for (int i=0;i<param.length;i++)
					delete_stm.setString(i+1,param[i]);
					delete_stm.executeUpdate();
					delete_stm.close();
					conn.commit();
			}catch(Exception e){
				System.err.println(e.getMessage());
				conn.rollback();
				return false;
			}finally{
				closeConnection();
			}
			return true;
		} 
		
		/*执行存储过程*/ 
		public boolean execCall(String procedure,String[] param) throws SQLException,java.io.UnsupportedEncodingException
		{
		try{
			conn=getConnection();
			CallableStatement cast=conn.prepareCall(procedure);
			if (param!=null)
				for(int i=0;i<param.length;i++)
					cast.setString(i+1,param[i]);
					cast.execute();
					cast.close();
					conn.commit();
		}
			catch(Exception e)
			{
				System.err.println(e.getMessage()+"存储过程执行失败");
				conn.rollback();
				return false;
			}finally{
				closeConnection();
			}
			return true;
		}
		
		public boolean setDataInfo(String sql) {
			try {
				conn =getConnection();
				Statement stmt = null;
				stmt = conn.createStatement();
				stmt.executeUpdate(sql);
				return true;
			} catch (Exception e) {
				System.err.println(e.getMessage()+"DML语句失败!");
				return false;
			}finally{
				closeConnection();
			}
			
		}
		
		public ResultSet getDataInfo(String sql){
			Statement stmt = null;
			try{
					conn =getConnection();
					stmt = conn.createStatement();
					result = stmt.executeQuery(sql);
			}catch (Exception e){
				System.err.println(e.getMessage()+"没有获得结果集!");
			}
			return result;
		}
		
		public void closeConnection() {
			try {
				conn.close();
				conn=null;
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}


⌨️ 快捷键说明

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