文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>jdbc操作

jdbc操作

时间:2010-08-27  来源:red_justice

一、SQL语言回顾 1、Select  select * from T where … 2、Insert  insert into T values(…) 3、Create  create table T(…) 4、Delete  delete from T where… 5、Update  update T set t1=… and t2=.. where t3=… 6、Drop  drop table T   二、JDBC编程步骤   1、Load the Driver Class.forName( )|Class.forName( ).newInstance( )|new DriverName( ) 实例化时自动向DriverManager注册,不需显式调用DriverManager.registerDriver方法 2、Connect to the DataBase   DriverManager.getConnection( ) 3、Execute the SQL   Connection.CreateStatement( )   Statement.executeQuery( )   Statement.executeUpdate( ) 4、Retrieve the result data   循环取得结果while(rs.next( )) 5、Show the result data   将数据库中的各种类型转换为Java中的类型(getXXX)方法 6、Close   Close the resultset ./ close the statement / close the connection   三、JDBC操作oracle数据库 1、  JDBC连接oracle数据库: import java.sql.*; public class TestJDBC {     public static void main(String[] args) throws ClassNotFoundException, SQLException {        Class.forName("oracle.jdbc.driver.OracleDriver");        //new oracle.jdbc.driver.OracleDriver();        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:solid", "scott", "tiger");     } }   2、  向数据库中取字段,遍历数据库,并显示出相应字段: import java.sql.*; public class TestJDBC {     public static void main(String[] args) throws ClassNotFoundException, SQLException {        Class.forName("oracle.jdbc.driver.OracleDriver");        //new oracle.jdbc.driver.OracleDriver();        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:solid", "scott", "tiger");        Statement stmt = conn.createStatement();        ResultSet rs = stmt.executeQuery("select * from dept");        while(rs.next()) {            System.out.println(rs.getString("deptno"));            System.out.println(rs.getInt("deptno"));        }        rs.close();        stmt.close();        conn.close();     } }   3、  捕捉相关异常,完善JDBC编程: import java.sql.*; public class TestJDBC {     public static void main(String[] args) throws ClassNotFoundException, SQLException {        ResultSet rs = null;        Statement stmt = null;        Connection conn = null;        try {            Class.forName("oracle.jdbc.driver.OracleDriver");           conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:solid", "scott", "tiger");            stmt = conn.createStatement();            rs = stmt.executeQuery("select * from dept");            while(rs.next()) {               System.out.println(rs.getString("deptno"));               System.out.println(rs.getInt("deptno"));            }        } catch(ClassNotFoundException e) {            e.printStackTrace();        } catch(SQLException e) {            e.printStackTrace();        } finally {            try {               if(rs != null) {                   rs.close();                   rs = null;               }               if(stmt != null) {                   stmt.close();                   stmt = null;               }               if(conn != null) {                   conn.close();                   conn = null;               }            } catch(SQLException e) {               e.printStackTrace();            }        }     } }   四、JDBC编程高级 1、  JDBC处理DML语句: import java.sql.*; public class TestDML {     public static void main(String[] args) {        Connection conn = null;        Statement stmt = null;        try {            Class.forName("oracle.jdbc.driver.OracleDriver");            conn = DriverManager.getConnection(                   "jdbc:oracle:thin:@127.0.0.1:1521:solid", "scott", "tiger");            stmt = conn.createStatement();            String sql = "insert into dept2 values (99,'develop','changsha')";            stmt.executeUpdate(sql);        } catch (ClassNotFoundException e) {            e.printStackTrace();        } catch (SQLException e) {            e.printStackTrace();        } finally {            try {               if (stmt != null) {                   stmt.close();                   stmt = null;               }               if (conn != null) {                   conn.close();                   conn = null;               }            } catch (SQLException e) {               e.printStackTrace();            }        }     } }   2、  JDBC处理DML语句2: import java.sql.*; public class TestDML2 {     public static void main(String[] args) {        if (args.length != 3) {            System.out.println("Arguments error,please enter again!");            System.exit(-1);        }               int deptno = 0;        try {            deptno = Integer.parseInt(args[0]);        } catch (NumberFormatException e) {            System.out.println("Arguments error");            System.exit(-1);        }               String dname = args[1];        String loc = args[2];               Connection conn = null;        Statement stmt = null;        try {            Class.forName("oracle.jdbc.driver.OracleDriver");           conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:solid", "scott", "tiger");            stmt = conn.createStatement();            String sql = "insert into dept2 values (" + deptno + ",'" + dname + "','" + loc + "' )"; System.out.println(sql);            stmt.executeUpdate(sql);        } catch (ClassNotFoundException e) {            e.printStackTrace();        } catch (SQLException e) {            e.printStackTrace();        } finally {            try {               if (conn != null) {                   conn.close();                   conn = null;               }               if (stmt != null) {                   stmt.close();                   stmt = null;               }            } catch (SQLException e) {               e.printStackTrace();            }                 }     } }   3、  JDBC处理PreparedStatement,可以灵活指定SQL语句中的变量 import java.sql.*; public class TestPrepStmt {     public static void main(String[] args) {        if (args.length != 3) {            System.out.println("Arguments error,please enter again!");            System.exit(-1);        }        int deptno = 0;        try {            deptno = Integer.parseInt(args[0]);        } catch (NumberFormatException e) {            System.out.println("Arguments error");            System.exit(-1);        }               String dname = args[1];        String loc = args[2];               Connection conn = null;        PreparedStatement pstmt = null;        try {            Class.forName("oracle.jdbc.driver.OracleDriver");           conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:solid", "scott", "tiger");            pstmt = conn.prepareStatement("insert into dept2 values (?, ?, ?)");            pstmt.setInt(1, deptno);            pstmt.setString(2, dname);            pstmt.setString(3, loc);            pstmt.executeUpdate();        } catch (ClassNotFoundException e) {            e.printStackTrace();        } catch (SQLException e) {            e.printStackTrace();        } finally {            try {               if (conn != null) {                   conn.close();                   conn = null;               }               if (pstmt != null) {                   pstmt.close();                   pstmt = null;               }            } catch (SQLException e) {               e.printStackTrace();            }                 }     } }   4、  JDBC处理储存过程 import java.sql.*; public class TestProc {        public static void main(String[] args) throws Exception {               Class.forName("oracle.jdbc.driver.OracleDriver");               Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");               CallableStatement cstmt = conn.prepareCall("{call p(?, ?, ?, ?)}");               cstmt.registerOutParameter(3, Types.INTEGER);               cstmt.registerOutParameter(4, Types.INTEGER);               cstmt.setInt(1, 3);               cstmt.setInt(2, 4);               cstmt.setInt(4, 5);               cstmt.execute();               System.out.println(cstmt.getInt(3));               System.out.println(cstmt.getInt(4));               cstmt.close();               conn.close();        }   }   5、  JDBC进行批处理 import java.sql.*; public class TestBatch {        public static void main(String[] args) throws Exception {               Class.forName("oracle.jdbc.driver.OracleDriver");               Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");               /*               Statement stmt = conn.createStatement();               stmt.addBatch("insert into dept2 values (51, '500', 'haha')");               stmt.addBatch("insert into dept2 values (52, '500', 'haha')");               stmt.addBatch("insert into dept2 values (53, '500', 'haha')");               stmt.executeBatch();               stmt.close();               */                             PreparedStatement ps = conn.prepareStatement("insert into dept2 values (?, ?, ?)");               ps.setInt(1, 61);               ps.setString(2, "haha");               ps.setString(3, "bj");               ps.addBatch();                             ps.setInt(1, 62);               ps.setString(2, "haha");               ps.setString(3, "bj");               ps.addBatch();                             ps.setInt(1, 63);               ps.setString(2, "haha");               ps.setString(3, "bj");               ps.addBatch();                             ps.executeBatch();               ps.close();                             conn.close();          }   }   6、  JDBC处理Transaction import java.sql.*; public class TestTransaction {        public static void main(String[] args) {               Connection conn = null;               Statement stmt = null;               try {                      Class.forName("oracle.jdbc.driver.OracleDriver");                      conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:SXT", "scott", "tiger");                                           conn.setAutoCommit(false);                      stmt = conn.createStatement();                      stmt.addBatch("insert into dept2 values (51, '500', 'haha')");                      stmt.addBatch("insert into dept2 values (52, '500', 'haha')");                      stmt.addBatch("insert into dept2 values (53, '500', 'haha')");                      stmt.executeBatch();                      conn.commit();                      conn.setAutoCommit(true);               } catch (ClassNotFoundException e) {                      e.printStackTrace();               } catch(SQLException e) {                                           e.printStackTrace();                                           try {                             if(conn != null)                             {                                    conn.rollback();                                    conn.setAutoCommit(true);                             }                      } catch (SQLException e1) {                             e1.printStackTrace();                      }               }finally {                      try {                             if(stmt != null)                                    stmt.close();                             if(conn != null)                                    conn.close();                      } catch (SQLException e) {                             e.printStackTrace();                      }               }        } }   7、  JDBC处理可滚动的结果 import java.sql.*; public class TestScroll {        public static void main(String args[]) {                 try {                      new oracle.jdbc.driver.OracleDriver();                      String url = "jdbc:oracle:thin:@192.168.0.1:1521:SXT";                      Connection conn = DriverManager                                    .getConnection(url, "scott", "tiger");                      Statement stmt = conn.createStatement(                                    ResultSet.TYPE_SCROLL_INSENSITIVE,                                    ResultSet.CONCUR_READ_ONLY);                      ResultSet rs = stmt                                    .executeQuery("select * from emp order by sal");                      rs.next();                      System.out.println(rs.getInt(1));                      rs.last();                      System.out.println(rs.getString(1));                      System.out.println(rs.isLast());                      System.out.println(rs.isAfterLast());                      System.out.println(rs.getRow());                      rs.previous();                      System.out.println(rs.getString(1));                      rs.absolute(6);                      System.out.println(rs.getString(1));                      rs.close();                      stmt.close();                      conn.close();               } catch (SQLException e) {                      e.printStackTrace();               }        } }   本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Solidwang/archive/2010/03/12/5372597.aspx
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载