java JDBC访问Oracle数据库

Java数据库访问——

1、加载JDBC驱动:

  
  
  
  
  1. 加载JDBC驱动,并将其注册到DriverManager中,下面是一些主流数据库的JDBC驱动加裁注册的代码:    
  2.   //Oracle8/8i/9iO数据库(thin模式)    
  3.   Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();    
  4.   //Sql Server7.0/2000数据库    
  5.   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();    
  6.   //DB2数据库    
  7.   Class.froName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();    
  8.   //Informix数据库    
  9.   Class.forName("com.informix.jdbc.IfxDriver").newInstance();    
  10.   //Sybase数据库    
  11.   Class.forName("com.sybase.jdbc.SybDriver").newInstance();    
  12.   //MySQL数据库    
  13.   Class.forName("com.mysql.jdbc.Driver").newInstance();    
  14.   //PostgreSQL数据库    
  15.   Class.forNaem("org.postgresql.Driver").newInstance(); 
2、建立数据库连接:

  
  
  
  
  1. //Oracle8/8i/9i数据库(thin模式)    
  2.   String url="jdbc:oracle:thin:@localhost:1521:orcl";    
  3.   String user="scott";    
  4.   String password="tiger";    
  5.   Connection conn=DriverManager.getConnection(url,user,password);    
  6.      
  7.   //Sql Server7.0/2000数据库    
  8.   String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";    
  9.   String user="sa";    
  10.   String password="";    
  11.   Connection conn=DriverManager.getConnection(url,user,password);    
  12.      
  13.   //DB2数据库    
  14.   String url="jdbc:db2://localhost:5000/sample";    
  15.   String user="amdin"    
  16.   String password=-"";    
  17.   Connection conn=DriverManager.getConnection(url,user,password);    
  18.      
  19.   //Informix数据库    
  20.   String url="jdbc:informix-sqli://localhost:1533/testDB:INFORMIXSERVER=myserver;user=testuser;password=testpassword";    
  21.   Connection conn=DriverManager.getConnection(url);    
  22.      
  23.   //Sybase数据库    
  24.   String url="jdbc:sybase:Tds:localhost:5007/tsdata";    
  25.   Properties sysProps=System.getProperties();    
  26.   SysProps.put("user","userid");    
  27.   SysProps.put("password","user_password");    
  28.   Connection conn=DriverManager.getConnection(url,SysProps);    
  29.      
  30.   //MySQL数据库    
  31.   String url="jdbc:mysql://localhost:3306/testDB?user=root&password=root&useUnicode=true&characterEncoding=gb2312";    
  32.   Connection conn=DriverManager.getConnection(url);    
  33.      
  34.   //PostgreSQL数据库    
  35.   String url="jdbc:postgresql://localhost/testDB";    
  36.   String user="myuser";    
  37.   String password="mypassword";    
  38.   Connection conn=DriverManager.getConnection(url,user,password); 

3、建立Statement对象或PreparedStatement对象:

  
  
  
  
  1. //建立Statement对象    
  2.   Statement stmt=conn.createStatement();    
  3.   //建立ProparedStatement对象    
  4.   String sql="select * from user where userName=? and password=?";    
  5.   PreparedStatement pstmt=Conn.prepareStatement(sql);    
  6.   pstmt.setString(1,"admin");    
  7.   pstmt.setString(2,"liubin"); 

4、执行sql语句:

  
  
  
  
  1. String sql="select * from users";    
  2.   ResultSet rs=stmt.executeQuery(sql);    
  3.   //执行动态SQL查询    
  4.   ResultSet rs=pstmt.executeQuery();    
  5.   //执行insert update delete等语句,先定义sql    
  6.   stmt.executeUpdate(sql);  

5、访问结果记录集ResultSet对象。

  
  
  
  
  1. while(rs.next)    
  2.   {    
  3.   out.println("你的第一个字段内容为:"+rs.getString());    
  4.   out.println("你的第二个字段内容为:"+rs.getString(2));    
  5.   }  

 6、依次将ResultSet、Statement、PreparedStatement、Connection对象关闭,释放所占用的资源:

  
  
  
  
  1. rs.close();    
  2.   stmt.clost();    
  3.   pstmt.close();    
  4.   con.close(); 

7、其他数据库连接:

  
  
  
  
  1. MySQL:       
  2.     String Driver="com.mysql.jdbc.Driver";    //驱动程序    
  3.     String URL="jdbc:mysql://localhost:3306/db_name";    //连接的URL,db_name为数据库名       
  4.     String Username="username";    //用户名    
  5.     String Password="password";    //密码    
  6.     Class.forName(Driver).new Instance();    
  7.     Connection con=DriverManager.getConnection(URL,Username,Password);    
  8. Microsoft SQL Server 2.0驱动(3个jar的那个):    
  9.     String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";    //连接SQL数据库的方法    
  10.     String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";    //db_name为数据库名    
  11.     String Username="username";    //用户名    
  12.     String Password="password";    //密码    
  13.     Class.forName(Driver).new Instance();    //加载数据可驱动    
  14.     Connection con=DriverManager.getConnection(URL,UserName,Password);    //    
  15. Microsoft SQL Server 3.0驱动(1个jar的那个): // 老紫竹完善    
  16.     String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";    //连接SQL数据库的方法    
  17.     String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";    //db_name为数据库名    
  18.     String Username="username";    //用户名    
  19.     String Password="password";    //密码    
  20.     Class.forName(Driver).new Instance();    //加载数据可驱动    
  21.     Connection con=DriverManager.getConnection(URL,UserName,Password);    //    
  22. Sysbase:    
  23.     String Driver="com.sybase.jdbc.SybDriver";    //驱动程序    
  24.     String URL="jdbc:Sysbase://localhost:5007/db_name";    //db_name为数据可名    
  25.     String Username="username";    //用户名    
  26.     String Password="password";    //密码    
  27.     Class.forName(Driver).newInstance();       
  28.     Connection con=DriverManager.getConnection(URL,Username,Password);    
  29. Oracle(用thin模式):    
  30.     String Driver="oracle.jdbc.driver.OracleDriver";    //连接数据库的方法    
  31.     String URL="jdbc:oracle:thin:@loaclhost:1521:orcl";    //orcl为数据库的SID    
  32.     String Username="username";    //用户名    
  33.     String Password="password";    //密码    
  34.     Class.forName(Driver).newInstance();    //加载数据库驱动    
  35.     Connection con=DriverManager.getConnection(URL,Username,Password);       
  36. PostgreSQL:    
  37.     String Driver="org.postgresql.Driver";    //连接数据库的方法    
  38.     String URL="jdbc:postgresql://localhost/db_name";    //db_name为数据可名    
  39.     String Username="username";    //用户名    
  40.     String Password="password";    //密码    
  41.     Class.forName(Driver).newInstance();       
  42.     Connection con=DriverManager.getConnection(URL,Username,Password);    
  43. DB2:    
  44.     String Driver="com.ibm.db2.jdbc.app.DB2.Driver";    //连接具有DB2客户端的Provider实例    
  45.     //String Driver="com.ibm.db2.jdbc.net.DB2.Driver";    //连接不具有DB2客户端的Provider实例    
  46.     String URL="jdbc:db2://localhost:5000/db_name";    //db_name为数据可名    
  47.     String Username="username";    //用户名    
  48.     String Password="password";    //密码    
  49.     Class.forName(Driver).newInstance();       
  50.     Connection con=DriverManager.getConnection(URL,Username,Password);    
  51. Informix:    
  52.     String Driver="com.informix.jdbc.IfxDriver";       
  53.     String URL="jdbc:Informix-sqli://localhost:1533/db_name:INFORMIXSER=myserver";    //db_name为数据可名    
  54.     String Username="username";    //用户名    
  55.     String Password="password";    //密码    
  56.     Class.forName(Driver).newInstance();       
  57.     Connection con=DriverManager.getConnection(URL,Username,Password);    
  58. JDBC-ODBC:    
  59.     String Driver="sun.jdbc.odbc.JdbcOdbcDriver";    
  60.     String URL="jdbc:odbc:dbsource";    //dbsource为数据源名    
  61.     String Username="username";    //用户名    
  62.     String Password="password";    //密码    
  63.     Class.forName(Driver).newInstance();       
  64.     Connection con=DriverManager.getConnection(URL,Username,Password);  

下面是我自己做的一个例子:

  
  
  
  
  1. package dao;   
  2.    
  3. import java.sql.SQLException;   
  4. import java.sql.Statement;   
  5. import java.sql.Connection;   
  6. import java.sql.DriverManager;   
  7. import java.sql.ResultSet;   
  8. import java.util.ArrayList;   
  9. import java.util.List;   
  10.    
  11. import bean.Tbmeet;   
  12.    
  13. public class OracleDao {   
  14.        
  15.        
  16.     private Statement stmt = null;   
  17.        
  18.     private  ResultSet rs = null;   
  19.        
  20.     private Connection conn = null;   
  21.        
  22.     public OracleDao(){   
  23.         this.getConnection();   
  24.     }   
  25.        
  26.     public void getConnection(){   
  27.         try{   
  28.             Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();    
  29.             String url="jdbc:oracle:thin:@10.11.0.31:1521:orcl"//orcl为数据库的SID    
  30.             String user="meeting";    
  31.             String password="meeting";    
  32.             conn= DriverManager.getConnection(url,user,password);    
  33.         }catch (Exception e) {   
  34.             System.out.println(e);   
  35.         }   
  36.     }   
  37.        
  38.     public List<Tbmeet> getRes(){   
  39.         List<Tbmeet> list = new ArrayList<Tbmeet>();    
  40.         try {   
  41.             stmt = conn.createStatement();   
  42.             rs = stmt.executeQuery("select * from tbmeetroomequipment");   
  43.             while (rs.next()) {   
  44.                 Tbmeet t = new Tbmeet();   
  45.                 t.setId(rs.getLong(1));   
  46.                 t.setName(rs.getString(2));   
  47.                 t.setEcid(rs.getLong(3));   
  48.                 list.add(t);   
  49.             }   
  50.         } catch (SQLException e) {   
  51.             list = null ;   
  52.             e.printStackTrace();   
  53.         }finally{   
  54.             this.close(conn, stmt, rs);   
  55.         }   
  56.         return list;   
  57.     }   
  58.        
  59.     public int delete(String sql) throws SQLException{   
  60.         int number = 0 ;   
  61.         try{   
  62.             stmt = conn.createStatement();   
  63.                
  64.             number = stmt.executeUpdate(sql);   
  65.                
  66.             conn.commit();   
  67.         }catch(Exception e){   
  68.             System.out.println(e);   
  69.             conn.rollback();   
  70.             number = 0 ;   
  71.         }finally{   
  72.             this.close(conn, stmt, rs);   
  73.         }   
  74.         return number;   
  75.     }   
  76.        
  77.     public void close(Connection conn , Statement stmt, ResultSet rs){   
  78.         try{   
  79.             if(rs != null){   
  80.                 rs.close();   
  81.                 rs = null ;   
  82.             }   
  83.             if(stmt != null){   
  84.                 stmt.close();   
  85.                 stmt = null ;   
  86.             }   
  87.             if(conn != null){   
  88.                 conn.close();   
  89.                 conn = null;   
  90.             }   
  91.                
  92.         }catch(Exception e){   
  93.             System.out.println(e);   
  94.         }   
  95.     }   
  96.        
转自:http://hzw2312.blog.51cto.com/2590340/748307

你可能感兴趣的:(java,jdbc)