jdbc操作步骤和preparedStatment相比Statment的好处
java操縱數(shù)據(jù)庫(kù)封裝了一組API,通過(guò)這組API可以透明的操作各種數(shù)據(jù)庫(kù),一般來(lái)講,操縱數(shù)據(jù)庫(kù)的步驟是:
一、
try{
1、加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)
????? Class.forName("數(shù)據(jù)庫(kù)驅(qū)動(dòng)類(lèi)");
2,獲得數(shù)據(jù)庫(kù)連接
????? Connection con=DriverManager.getConnection("數(shù)據(jù)庫(kù)地址","用戶(hù)名","密碼");
3,獲得執(zhí)行sql語(yǔ)句的對(duì)象
????? Statment st = con.creatStatment();?????????????? ||?????? PreparedStatment pst = con.creatPrepareStatment(sql);
4,生成并執(zhí)行sql語(yǔ)句
????? ResultSet rs = st.executeQuery(sql)?? //返回查詢(xún)結(jié)構(gòu)集???????????? ||?????? ResultSet rst =?pst.executeQuery();??? /注意傳入sql的位置
????? int rs = st.executeUpdate(sql)?? //返回受影響的行數(shù)
????? boolen rs = st.execute(sql)??? //適合在不知道sql語(yǔ)句類(lèi)型的情況下操作,不推薦使用
5,獲得結(jié)果集
???? while(rs.next()){
?????????????? re.getString("");
?????????????? ......
??????}
}catch (Exception e){
????? e.printStack();
}finally{
6,后期處理
????? try{
?????????????? rs.close();???? //先打開(kāi)的后關(guān)閉
?????????????? st.close();
???????????????con.close();
??????????}catch (Exception e){
?????????????? e.printStack();
??????????}?
???}?
二、好處:
1、PreparedStatment對(duì)sql進(jìn)行了預(yù)編譯,適合執(zhí)行大量相似的操作,無(wú)需每次傳入sql語(yǔ)句,只需要傳入sql語(yǔ)句中相應(yīng)相應(yīng)參數(shù)即可,預(yù)編譯時(shí)sql語(yǔ)句中的參數(shù)用”?“代替
????? 它的性能比較好,執(zhí)行效率高
2、PrepraedStatment因進(jìn)行了預(yù)編譯,所以不用每次拼接sql語(yǔ)句字符串,一來(lái)大大減少了了程序書(shū)寫(xiě)時(shí)的錯(cuò)誤,二來(lái)同樣減少了系統(tǒng)開(kāi)銷(xiāo)
3、PreparedStatment方式可以防止惡意sql注入
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的jdbc操作步骤和preparedStatment相比Statment的好处的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [问题记录] cl-api 在 CCL
- 下一篇: 安装 ArcGISAPI31forSil