Java數(shù)據(jù)庫連接PreparedStatement的使用詳解
本文介紹了Java數(shù)據(jù)庫連接PreparedStatement的使用詳解,分享給大家,具體如下:
首先了解Statement和PreparedStatement的區(qū)別:

由此可見,一般使用PreparedStatement。
操作數(shù)據(jù)庫SU(Course表),其中Course屬性有Cno,Cname,Cpno,Ccredit。
public class Demo_2 {
public static void main(String[] args) {
PreparedStatement ps=null;
ResultSet rs=null;
Connection ct=null;
try {
//1.加載驅(qū)動(dòng)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//2.得到連接
ct=DriverManager.getConnection("jdbc:odbc:mytest");
//3.創(chuàng)建PreparedStatement
ps=ct.prepareStatement("select * from Course where Cno=? and Cpno=?");
ps.setString(1,"3"); //給第一個(gè)問號(hào)賦值
ps.setInt(2,1);
rs=ps.executeQuery();
while(rs.next()){
String Cno=rs.getString(1);
String Cname=rs.getString(2);
int Cpno=rs.getInt(3);
int Ccredit=rs.getInt(4);
System.out.println(Cno+" "+Cname+" "+Cpno+" "+Ccredit);
}
//使用 PreparedStatement添加一條記錄
// ps=ct.prepareStatement("insert into Course values(?,?,?,?)");
// ps.setString(1, "8");
// ps.setString(2, "C++");
// ps.setInt(3, 3);
// ps.setInt(4, 2);
// //執(zhí)行
// int i=ps.executeUpdate();
// if(i==1){
// System.out.print("添加成功");
// }else{
// System.out.print("添加不成功");
// }
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(rs!=null){
rs.close();
}
if(ps!=null){
ps.close();
}
if(ct!=null){
ct.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
運(yùn)行程序,控制臺(tái)輸出符合條件的數(shù)據(jù)。
最后總結(jié)如下:
PreparedStatement 使用crud
1. PreparedStatement可以提高執(zhí)行的效率(因?yàn)樗蓄A(yù)編譯的功能)
2. PreparedStatement可以防止sql注入,但是要求?賦值的方式才可以。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java將String字符串轉(zhuǎn)換為L(zhǎng)ist<Long>類型實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于java將String字符串轉(zhuǎn)換為L(zhǎng)ist<Long>類型實(shí)例方法,需要的朋友們可以參考下。2020-03-03
MyBatisPlus條件構(gòu)造器圖文實(shí)例詳解
這篇文章主要介紹了MyBatisPlus條件構(gòu)造器,了解內(nèi)部原理是為了幫助我們做擴(kuò)展,同時(shí)也是驗(yàn)證了一個(gè)人的學(xué)習(xí)能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會(huì)的2023-01-01
spring-boot react如何一步一步實(shí)現(xiàn)增刪改查
這篇文章主要介紹了spring-boot react如何一步一步實(shí)現(xiàn)增刪改查,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11
SpringBoot整合MongoDB實(shí)現(xiàn)事務(wù)管理
Spring Boot是一種快速開發(fā)Spring應(yīng)用的方式,它提供了大量的自動(dòng)配置和默認(rèn)設(shè)置,以簡(jiǎn)化開發(fā)流程,MongoDB是一個(gè)基于文檔的NoSQL數(shù)據(jù)庫,本文將介紹如何在Spring Boot應(yīng)用中整合MongoDB,并實(shí)現(xiàn)事務(wù)管理,需要的朋友可以參考下2024-07-07
SpringBoot利用MDC機(jī)制過濾單次請(qǐng)求的所有日志
在服務(wù)出現(xiàn)故障時(shí),我們經(jīng)常需要獲取一次請(qǐng)求流程里的所有日志進(jìn)行定位 ,如何將一次數(shù)據(jù)上報(bào)請(qǐng)求中包含的所有業(yè)務(wù)日志快速過濾出來,就是本文要介紹的,需要的朋友可以參考下2024-04-04
java關(guān)鍵字abstract(抽象)實(shí)例詳解
在Java中,抽象類是不能實(shí)例化的類,它通常作為其他子類的父類存在,并提供了一種繼承的框架,抽象類中可以包含抽象方法,這些方法沒有具體的實(shí)現(xiàn),必須由子類來提供,本文給大家介紹java關(guān)鍵字abstract(抽象)實(shí)例詳解,感興趣的朋友跟隨小編一起看看吧2024-10-10
java yaml轉(zhuǎn)properties工具類方式
這篇文章主要介紹了java yaml轉(zhuǎn)properties工具類方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
Spring MVC獲取參數(shù)和自定義參數(shù)類型轉(zhuǎn)換器及編碼過濾器
這篇文章主要為大家詳細(xì)介紹了Spring MVC獲取參數(shù)和自定義參數(shù)類型轉(zhuǎn)換器及編碼過濾器,文中通過代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-06-06

