Java自學-JDBC execute與executeUpdate的區別
阿新 • • 發佈:2020-07-19
JDBC中 execute與executeUpdate的區別
execute與executeUpdate的區別
步驟 1 : 相同點
execute與executeUpdate的相同點:都可以執行增加,刪除,修改
package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class TestJDBC { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try (Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8","root", "admin"); Statement s = c.createStatement();) { String sqlInsert = "insert into Hero values (null,'蓋倫',616,100)"; String sqlDelete = "delete from Hero where id = 100"; String sqlUpdate = "update Hero set hp = 300 where id = 100"; // 相同點:都可以執行增加,刪除,修改 s.execute(sqlInsert); s.execute(sqlDelete); s.execute(sqlUpdate); s.executeUpdate(sqlInsert); s.executeUpdate(sqlDelete); s.executeUpdate(sqlUpdate); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
步驟 2 : 不同點
不同1:
execute可以執行查詢語句
然後通過getResultSet,把結果集取出來
executeUpdate不能執行查詢語句
不同2:
execute返回boolean型別,true表示執行的是查詢語句,false表示執行的是insert,delete,update等等
executeUpdate返回的是int,表示有多少條資料受到了影響
package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class TestJDBC { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try (Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8","root", "admin"); Statement s = c.createStatement();) { // 不同1:execute可以執行查詢語句 // 然後通過getResultSet,把結果集取出來 String sqlSelect = "select * from hero"; s.execute(sqlSelect); ResultSet rs = s.getResultSet(); while (rs.next()) { System.out.println(rs.getInt("id")); } // executeUpdate不能執行查詢語句 // s.executeUpdate(sqlSelect); // 不同2: // execute返回boolean型別,true表示執行的是查詢語句,false表示執行的是insert,delete,update等等 boolean isSelect = s.execute(sqlSelect); System.out.println(isSelect); // executeUpdate返回的是int,表示有多少條資料受到了影響 String sqlUpdate = "update Hero set hp = 300 where id < 100"; int number = s.executeUpdate(sqlUpdate); System.out.println(number); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
更多內容,點選瞭解: JDBC中 execute與executeUpdate的區別