数据库连接

来源:互联网 发布:制作字体的软件 编辑:程序博客网 时间:2024/06/06 09:34

 

//最后就是Class方法了,在这里装入不同的驱动就可以与不同的数据库连接了    
import java.sql.*;                                                        
public class DBTest{                                                      
static {                                                                
  try{                                                                    
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");                        
  }catch (Exception e){                                                  
    e.printStackTace();                                                  
  }                                                                      
  public static void main(String args[]){                                
   String StrSQL="";                                                      
   if(args.length!=0){                                                    
     StrSQL=args[0]                                                      
     System.out.prntln("The SQL Commond you want to execute is");        
     System.out.println(StrSQL);                                          
   }else{                                                                
    System.out.println("Please input the SQL Commond");                  
    System.exit(0);                                                      
   }                                                                      
   try{                                                                  
   DBConnection DBCon = new DBCOnnection("jdbc:odbc:","","");            
   Connection conn= DBCon.makeConnection();                              
   DisPlayResult drs = new DisPlayResult(SreSQL,conn);                    
   drs.show();                                                            
   }                                                                      
   catch(Exception e){                                                    
     e,printStackTace();                                                  
   }                                                                      
   }                                                                      
}                                                                        
}                                                                        
运用面向对象思想,可以很好的解决代码重用,这也是面向对象的优点。
//第一步是创建连接                                                        
import java.sql.*;                                                        
public class DBConnection{                                                
  public String url;                                                      
  public String username;                                                  
  public String password;                                                  
  public DBConnection(){                                                  
  }                                                                        
  public DBConnection(String url_,String username_,String password_){      
   this.url=url_;                                                          
   this.username=username_;                                                
   this.password=password_;                                                
                                                                          
   }                                                                      
   public Connection makeConnection(){                                    
   Connection conn=null;                                                  
   try{                                                                    
     conn=DriverManager.getConnection(url,username,password);              
                                                                          
    }catch (Exception e){                                                  
     e.printStackTace();                                                  
     }                                                                    
     return conn;                                                          
                                                                          
   }                                                                      
                                                                          
}                                                                          
//把与数据库的连接分为三步,第二步就是创建一个公共的Resultset对象,用来显示查询的结果              
                                                                                                    
import java.sql.*;                                                                                  
public class DisPlayResult{                                                                        
  public Connection String conn=null;                                                              
  public String StrSQL=" SQL Language";                                                            
  public DisPlayResult(){                                                                          
  }                                                                                                
  publicDisPlayResult(String StrSQL_,String conn){                                                  
                                                                                                    
    this.SQLStr=SQLStr_;                                                                            
    this.conn=conn_;                                                                                
                                                                                                    
  }                                                                                                
    public void show(){                                                                            
                                                                                                    
    if(conn=null){                                                                                  
       System.out.println("You do not create a connection");                                        
     }else{                                                                                        
                                                                                                    
     if(SQLStr.equals("SQL Language"))                                                              
          System.out.println("You do not input any SQL Commond");                                  
      }else{                                                                                        
          try{                                                                                      
          Statement st=conn.createStatement();                                                      
          //create a Statement Object                                                              
          ResultSet rs = st.executeQuery(SQLStr);                                                  
          ResultSetMataData rsmd = rs.getMataData();                                                
          int ColumnNum = rsmd.getColumnCount();                                                    
          for(int i=1;i<=ColumnNum,i++){                                                            
            System.out.println(rsmd.getColumnName(i)+"/t");                                        
           }                                                                                        
           System.out.println("/n------------------------/n");                                      
           while(rs.next()){                                                                        
           String Data = "";                                                                        
           for(int i=1,i<=ColumnNum,i++){                                                          
            Data+=getString(i);                                                                    
            }                                                                                      
            System.out.println(Data);                                                              
                                                                                                    
                                                                                                    
            }                                                                                      
            conn.close();                                                                          
          }                                                                                        
          catch(Exception e){                                                                      
            e.printStackTace();                                                                    
          }                                                                                        
                                                                                                    
      }                                                                                            
                                                                                                    
    }                                                                                                                              
}