eg1:
1 public static void main(String[] args) throws ClassNotFoundException, SQLException { 2 //第一步:加載JDBC驅動類 3 Class.forName("oracle.jdbc.driver.OracleDriver"); 4 //第二部:通過驅動管理器獲得與數據庫的連接對象(該對象為與數據庫相通的管道) 5 Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","x1","x1"); 6 //第三步:通過Connection對象獲取封裝了sql的PreparedStatement對象(封裝了已經預編譯的sql語句,效率高) 7 PreparedStatement pst = con.prepareStatement("insert into classtable values(?,?,'提升必備')");//?:占位符 8 for(int i=0;i<10;i++){ 9 pst.setString(1, "0"+i); 10 pst.setString(2, "課程"+i); 11 //第四步:執行sql語句 12 int cnt = pst.executeUpdate();//插入||修改||刪除返回操作記錄數,即受影響的行數 13 System.out.println(cnt); 14 } 15 pst.close();//關閉連接管道,由內而外 16 con.close(); 17 }
eg2:
1 public static void main(String[] args) throws ClassNotFoundException, SQLException { 2 //第一步:加載JDBC驅動類 3 Class.forName("oracle.jdbc.driver.OracleDriver"); 4 //第二部:通過驅動管理器獲得與數據庫的連接對象(該對象為與數據庫相通的管道) 5 Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","x1","x1"); 6 //第三步:通過Connection對象獲取封裝了sql的PreparedStatement對象(封裝了已經預編譯的sql語句,效率高) 7 PreparedStatement pst = con.prepareStatement("select * from classtable where c_name like ?"); 8 9 pst.setString(1, "%課程%"); 10 //第四步:執行sql語句 11 ResultSet rs = pst.executeQuery();//查詢返回ResultSet對象(即結果集對象,該結果集存放於數據庫內存中) 12 //剛剛獲取的結果集,其游標指向第一行之前 13 //rs.next();//將游標向前推進一行,如果推進成功,返回true,否則返回false 14 while(rs.next()){ 15 //獲取游標指向的當前行數據 16 String id = rs.getString("c_id"); 17 String name = rs.getString("c_name"); 18 String explain = rs.getString("c_explain"); 19 System.out.println(" | "+id+" | "+name+" | "+explain+" | "); 20 } 21 rs.close(); 22 con.close(); 23 }