Connection介面有三種方式將SQL指令字串丟到SQL裡面執行
Statement | createStatement() | 建立一個可以產生靜態SQL指令的statement物件(靜態SQL指令就是不會做資料更動的指令,像是SELECT) |
PreparedStatement | crepareStatement(String SQL) | 建立一個可以產生動態SQL指令的statement物件(動態SQL指令就是會做資料更動的指令,像是INSERT,UPDATE,DELETE) |
CallableStatement | prepareCall(String SQL) | 使用Stored Procedure,因為Stored Procedure已經在資料庫中編譯過存在資料庫中,效率較高 |
這三種方式都會throws SQLException 所以記得要用try catch包起來
另外就是歸還資源close()
close()也會丟出SQLException所以也要用try catch包起來
Connection寫在finally比較好
finally{
if(conn!=null){//conn是connection的物件
try{
conn.close();//conn關了之後,創造的statement物件和ResultSet都會一起關,當然一個一個關比較好
}
}
}