【JDBC】基本开发步骤

1、准备工作

new   java project ->  导入 sqljdbc4.jar 包  ---> build path


2、JDBC小程序

2.1 查询 数据库中的信息

  1. import java.sql.*;    
  2.    
  3. public class  TestJDBC {      
  4.      public static void main(String[] args) {    
  5.             Connection con = null;  
  6.             Statement stmt = null;  
  7.             ResultSet rs = null ;  
  8.             try{  
  9.                 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载驱动程序    
  10.                 String url = "jdbc:sqlserver://localhost;database = test; user = sa;password = 1234";    
  11.                  con = DriverManager.getConnection(url); //创建连接对象    
  12.                  stmt = con.createStatement();  
  13.                  rs = stmt.executeQuery("select * from users");  
  14.                 while(rs.next()){  //循环取得结果集,rs指示在最顶端  
  15.                     String name = rs.getString("name");  
  16.                     int psw = rs.getInt("psw");  
  17.                     System.out.println(name+"  "+psw);  
  18.                 }  
  19.             }catch(ClassNotFoundException e){  
  20.                 e.printStackTrace();  
  21.             }catch(SQLException e){  
  22.                 e.printStackTrace();  
  23.             }finally{  
  24.                 try{  
  25.                    if(rs != null){  
  26.                        rs.close();  
  27.                    }  
  28.                    if(stmt != null){  
  29.                     stmt.close();  
  30.                    }  
  31.                    if(con != null){  
  32.                     con.close();  
  33.                    }  
  34.                 }catch(SQLException e){  
  35.                     e.printStackTrace();  
  36.                 }  
  37.             }  
  38.         }    
  39. }  

2.2 更新数据库中的信息

  1. import java.sql.*;    
  2.    
  3. public class  TestDML {       
  4.      public static void main(String[] args) {    
  5.             Connection con = null;  
  6.             Statement stmt = null;  
  7.             try{  
  8.                 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载驱动程序    
  9.                 String url = "jdbc:sqlserver://localhost;database = test; user = sa;password = 1234";    
  10.                  con = DriverManager.getConnection(url); //创建连接对象    
  11.                  stmt = con.createStatement();  
  12.                  String sql ="insert into users values('james','33332')";  
  13.                  stmt.executeUpdate(sql);  
  14.             }catch(ClassNotFoundException e){  
  15.                 e.printStackTrace();  
  16.             }catch(SQLException e){  
  17.                 e.printStackTrace();  
  18.             }finally{  
  19.                 try{       
  20.                    if(stmt != null){  
  21.                     stmt.close();  
  22.                    }  
  23.                    if(con != null){  
  24.                     con.close();  
  25.                    }  
  26.                 }catch(SQLException e){  
  27.                     e.printStackTrace();  
  28.                 }  
  29.             }  
  30.         }    
  31. }  

2.3  preparedStatement  使用 

  1. public class  BallGame {      
  2.      public static void main(String[] args) {    
  3.             Connection con = null;  
  4.             PreparedStatement pstmt = null;  
  5.             try{  
  6.                 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载驱动程序    
  7.                 String url = "jdbc:sqlserver://localhost;database = test; user = sa;password = 1234";    
  8.                  con = DriverManager.getConnection(url); //创建连接对象    
  9.                  pstmt = con.prepareStatement("insert into users values(?,?)");   //占位符,简单不易出错  
  10.                  pstmt.setString(1"jordan");   
  11.                  pstmt.setInt(23434443);   
  12.                  pstmt.executeUpdate();  
  13.             }catch(ClassNotFoundException e){  
  14.                 e.printStackTrace();  
  15.             }catch(SQLException e){  
  16.                 e.printStackTrace();  
  17.             }finally{  
  18.                 try{       
  19.                    if(pstmt != null){  
  20.                     pstmt.close();  
  21.                    }  
  22.                    if(con != null){  
  23.                     con.close();  
  24.                    }  
  25.                 }catch(SQLException e){  
  26.                     e.printStackTrace();  
  27.                 }  
  28.             }  
  29.         }    
  30. }  

2.4 callableStatement 存储过程处理 、 批处理  addBatch 、 excecuteBatch   调用 

  1.      pstmt = con.prepareStatement("insert into users values(?,?)");  
  2.      pstmt.setString(1"jordan");   
  3.      pstmt.setInt(23434443);   
  4.      pstmt.addBatch();  // 进行批处理  
  5.      pstmt.setString(1"ruby");   
  6.      pstmt.setInt(234333443);   
  7.      pstmt.addBatch(); 
  8.      Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,   
  9.      ResultSet.CONCUR_READ_ONLY);//要回滚的话,必须设置这两个参数  
  10.      ResultSet rs = stmt.executeQuery("select * from users");  
  11.      rs.next();  
  12.      System.out.println(rs.getString(1));  
  13.      rs.last();  
  14.      System.out.println(rs.getString(1));  
  15.      System.out.println(rs.isLast());  
  16.      System.out.println(rs.getRow());  
  17.      rs.previous();  
  18.      System.out.println(rs.getString(1));  
  19.      rs.absolute(3);   
  20.      System.out.println(rs.getString(1));  
  21.      pstmt.executeBatch();   

2、5可以滚动的结果集

  1.       Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,   
  2.       ResultSet.CONCUR_READ_ONLY);//要回滚的话,必须设置这两个参数  
  3.       ResultSet rs = stmt.executeQuery("select * from users");  
  4.       rs.next();  
  5.       System.out.println(rs.getString(1));  
  6.       rs.last();  
  7.       System.out.println(rs.getString(1));  
  8.       System.out.println(rs.isLast());  
  9.       System.out.println(rs.getRow());// 共有多少条记录  
  10.       rs.previous();  
  11.       System.out.println(rs.getString(1));  
  12.       rs.absolute(3);   
  13.       System.out.println(rs.getString(1));  



你可能感兴趣的:(SQL,JAVA)