JDBC中 execute與executeUpdate的區(qū)別
execute與executeUpdate的區(qū)別
步驟 1 : 相同點(diǎn)
execute與executeUpdate的相同點(diǎn):都可以執(zhí)行增加栅表,刪除工腋,修改
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";
// 相同點(diǎn):都可以執(zhí)行增加奢米,刪除痴怨,修改
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 : 不同點(diǎn)
不同1:
execute可以執(zhí)行查詢語(yǔ)句
然后通過(guò)getResultSet,把結(jié)果集取出來(lái)
executeUpdate不能執(zhí)行查詢語(yǔ)句
不同2:
execute返回boolean類型,true表示執(zhí)行的是查詢語(yǔ)句,false表示執(zhí)行的是insert,delete,update等等
executeUpdate返回的是int,表示有多少條數(shù)據(jù)受到了影響
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可以執(zhí)行查詢語(yǔ)句
// 然后通過(guò)getResultSet农渊,把結(jié)果集取出來(lái)
String sqlSelect = "select * from hero";
s.execute(sqlSelect);
ResultSet rs = s.getResultSet();
while (rs.next()) {
System.out.println(rs.getInt("id"));
}
// executeUpdate不能執(zhí)行查詢語(yǔ)句
// s.executeUpdate(sqlSelect);
// 不同2:
// execute返回boolean類型,true表示執(zhí)行的是查詢語(yǔ)句或颊,false表示執(zhí)行的是insert,delete,update等等
boolean isSelect = s.execute(sqlSelect);
System.out.println(isSelect);
// executeUpdate返回的是int砸紊,表示有多少條數(shù)據(jù)受到了影響
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();
}
}
}
更多內(nèi)容传于,點(diǎn)擊了解: JDBC中 execute與executeUpdate的區(qū)別