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

📄 dbconnect.java

📁 struts的演示代码
💻 JAVA
字号:
	package com.hrsoft.db;

	import java.sql.*; 
	import java.util.*; 
	import java.io.*; 

	public class DBConnect{
		// implements Database       
		private   Connection conn      = null;         
		private   Statement stmt      = null;   
		private   PreparedStatement prepstmt = null;   
		private   ResultSet rs      = null;   
		private   DBConnectionManager dcm=null;       
		private   String Driver      = null;    
		private   String url         = null;    
		private   String user         = null;    
		private   String passwd      = null; 
		private boolean isConnect   = false; 
		private String odbc         = null; 
	
		private void init(String odb) {
			try{            
				dcm = DBConnectionManager.getInstance(odb);       
				//System.out.println(dcm);       
				if(dcm == null){      
					//this.conn == null ||   
					System.out.println("Database Connect false!");      
					//throw new Exception("Database Connect false!");  
					//return; 
					}else{       
						this.conn = dcm.getConnection();
						//this.setStmt(1);//默认
						}               
				}catch (Exception e)   {      
					e.printStackTrace();      
				}       
		} 

		public DBConnect() {      
			init("jdbc");      
			this.odbc   = "jdbc";  
			}     
		public DBConnect(String odb) {    
			if(odb == null)
			  odb="jdbc";    
			this.odbc   = odb;     
			init(odb);      
		} 
       	//zxf modify 
		public void setConn(boolean bcommit){
			try{
				conn.setAutoCommit(bcommit);
			}
			catch (SQLException e) {
				e.printStackTrace();
          }
		}
		public void setCommit(){
			try{
				 conn.commit();
			}
			catch (SQLException e) {
				e.printStackTrace();
          }
		}
		public void setRollback(){
			try{
				conn.rollback();
			}
			catch (SQLException e) {
				e.printStackTrace();
          }
		}
		public Statement getStmt(){
			return stmt;
		}
		public ResultSetMetaData executeMetaData(String sql){
			ResultSetMetaData rsmd = null;
			try{
					ResultSet rs = stmt.executeQuery(sql);
					rsmd = rs.getMetaData();
				}catch(Exception ex)
				{
					rsmd =  null;
					System.err.println("dbinit.executeMetaData():"+ex.getMessage());
				}finally
				{
					return rsmd;
				}

		}

		public void setStmt(int iEnum){

			try{

				switch(iEnum)
				{	
					case 0:
						  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
						  break;
					case 1:
						  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
						  break;					  
					case 2:
						  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
						  break;					 
					case 3:
						  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
						  break;					 				
					case 4:
						  stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
						  break;					 
					case 5:
						  stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
						  break;					  
					default :
						  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
						  break;
					}
				}
				catch(Exception ex){
					  System.err.println("DBConnect.setStmt:"+ex.getMessage());
				}

		}
		
		public void setStmtPrep(String sql,int iEnum){

			try{

				switch(iEnum)
				{	
					case 0:
						  prepstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
						  break;
					case 1:
						  prepstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
						  break;					  
					case 2:
					      prepstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
						  break;					 
					case 3:
						  prepstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
						  break;					 				
					case 4:
						  prepstmt = conn.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
						  break;					 
					case 5:
						  prepstmt = conn.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
						  break;					  
					default :
						  prepstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
						  break;
					}
				}
				catch(Exception ex){
					  System.err.println("DBConnect.setStmtPrep:"+ex.getMessage());
				}

		}
		
        public oracle.jdbc.OracleCallableStatement set_SP_Stmt(String spName){
			try{
                return (oracle.jdbc.OracleCallableStatement)conn.prepareCall(spName);
			   }
            catch(Exception e)
			{
			  System.out.println("DBConnect.set_SP_Stmt:"+e.getMessage());
			  return null;
			}
	    }

		//*zxf end 
		public String getCatalog(){
			String tmp = "";       
			try{          
				if(this.conn != null) 
					tmp = this.conn.getCatalog();  
				}catch(SQLException e) {
					e.printStackTrace(); 
					}      
			return tmp; 
		}              
    
		public ResultSet executeQuery(String strSQL) { 
			try { 
				this.setStmt(1);
				this.stmt = getStmt();
				if(this.stmt != null){  
					this.rs = this.stmt.executeQuery(strSQL);   
					}   
				}
			catch(SQLException e) {  
				try{  
					this.close();
					e.printStackTrace(); }catch(Exception ex){
						System.out.println("Ex:" + ex.getMessage());
					}
				} 

			finally {   
				try{         
					// Always close properly  
					        
				}catch(Exception e){   
					e.printStackTrace();  
				}    
			}
			return this.rs; 
		}   
		public boolean executeUpdate(String strSQL){   
			boolean isSuccess    = false;    
			try{
				setStmt(0);//可更新
				stmt.executeUpdate(strSQL);     
				isSuccess   = true;     
				}
			catch(SQLException e)   { 
				try{
				this.close();
				}catch(Exception ex){
					System.out.println("异常(Conn.close):" + ex.getMessage());
				}
				e.printStackTrace(); 
				return isSuccess = false;
			}
			finally {   
				try{         
				// Always close properly  
				       
				}catch(Exception e){   
					e.printStackTrace();  
				}    
			}
			return isSuccess;   
		}       
		public void prepareStatement(String sql,int iType) 
			throws SQLException { 
			setStmtPrep(sql,iType); 
		}       
		public ResultSet executeQuery() throws SQLException {
			if (prepstmt != null) {  
				return prepstmt.executeQuery();
				}    
			else
				return null;  
		}       
		public void executeUpdate() throws SQLException {
			if (this.prepstmt != null)  
				this.prepstmt.executeUpdate(); 
			} 
		public void executeBatch() 
				throws SQLException {  
				if (this.prepstmt != null)     
					this.prepstmt.executeBatch();   
		}  
		public void clearParameters()throws SQLException     {  
			prepstmt.clearParameters();     
			prepstmt=null;    
		}      
		public PreparedStatement getPreparedStatement() {   
			return prepstmt;   
		}      
		public Statement getStatement() {  
			return stmt; 
		}             
		public boolean prepareCall(String process){
			//throws Exception     
			boolean isSuccess    = false; 
			//String procedure = "{call p_test2 (?) }";      
			//String procedure = "{call "+process+" }";  
			String procedure    = "{select "+process+"}";   
			System.out.print(procedure);      
			try{       
				CallableStatement cstmt = this.conn.prepareCall(procedure);  
				cstmt.setString(1,"dddddd");      
				cstmt.setString(2,"ffffff");   
				cstmt.executeUpdate();           
				//rs = cstmt.executeQuery();     
				isSuccess   = true;             
				}catch(SQLException e)   {     
					e.printStackTrace();     
				}      
			return isSuccess;   
		}     
		public void setString(int index,String value) throws SQLException { 
			prepstmt.setString(index, value);   
		}       
		public void setInt(int index,int value) throws SQLException {
			prepstmt.setInt(index,value);  
		}       
		public void setBoolean(int index,boolean value) throws SQLException { 
			prepstmt.setBoolean(index,value);
		}
		public void setDate(int index,java.sql.Date value) throws SQLException {   
			prepstmt.setDate(index,value);   
		}   
		public void setLong(int index,long value) throws SQLException { 
			prepstmt.setLong(index,value);    
		}       
		public void setFloat(int index,float value) throws SQLException { 
			prepstmt.setFloat(index,value);  
		}       
		public void setBytes(int index,byte[] value) throws SQLException{   
			prepstmt.setBytes(index,value);    
		} 
		public void addBatch() throws SQLException{   
			prepstmt.addBatch(); 
		}         
		public boolean Transaction(String sql){ 
			//throws Exception      
			boolean isSuccess    = false;     
			try{        
				this.prepstmt = this.conn.prepareStatement(sql);  
				}catch(SQLException e){ 
					e.printStackTrace();    
					} 
					/*........................
					connection.beginTransaction();  
					try{    
						connection.commit();       
					}catch(SQLException e) 
					{
						connection.rollback();   
						e.printStackTrace();     
					}   
					....................... */
			return isSuccess;  
		}
		public void close() throws Exception{ 
			if (this.rs != null)  {
				this.rs.close();
				this.rs    = null;  
				}      
			if (this.stmt != null) { 
				this.stmt.close();   
				this.stmt = null;  
				}      
			if (this.prepstmt != null) { 
				this.prepstmt.close();      
				this.prepstmt = null;     
				}     
			if (conn!=null){
				dcm.freeConnection(this.odbc,conn);  
			}     
				System.out.println("归还数据库连接池"); 
		} 					

	
}

⌨️ 快捷键说明

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