statement對象與sql語句(新手)


本篇介紹讀上篇代碼中的疑惑點

實現簡單網頁上對數據內容進行增刪改查,需要用到三個部分jsp網頁前端部分+java后台程序+數據庫表

 

一.創建一個Statement 用於在已經建立數據庫連接的基礎上,向數據庫發送要執行的SQL語句Statement對象,用於執行不帶參數的簡單SQL語句
•要執行SQL語句,必須獲得java.sql.Statement實例

Statement實例分為以下3 種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行數據庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:

//Connection con
Statement st = con.createStatement() ;
PreparedStatement pst = con.prepareStatement(sql語句) ;
CallableStatement cst = con.prepareCall("{call demoSp(? , ?)}") ;
.執行SQL語句
Statement接口提供了三種執行SQL語句的方法:executeQuery 、executeUpdate 和execute
1、ResultSet executeQuery(String sqlString):執行查詢數據庫的SQL語句 //查詢
,返回一個結果集(ResultSet)對象。 ResultSet對象 是查詢數據庫時的返回對象,讀取返回結果集,可通過ResultSet的接口常用方法實現,
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或
DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的
語句。
具體實現的代碼:
ResultSet rs = st.executeQuery("select*from YourShujukuName") ;
int rows = st.executeUpdate("insert into ...") ;
boolean flag = st.execute(String sql) ;

Insert into 語句

INSERT INTO 語句用於向表格中插入新的行。//添加

語法

INSERT INTO 表名稱 VALUES (值1, 值2,....)

 

三、HttpServletRequest介紹

  HttpServletRequest對象代表客戶端的請求,當客戶端通過HTTP協議訪問服務器時,HTTP請求頭中的所有信息都封裝在這個對象中,通過這個對象提供的方法,可以獲得客戶端請求的所有信息。

四、Request常用方法

request.getAttribute():是request時設置的變量的值,用request.setAttribute("name","您自己的值");來設置值,
request.getAttribute()和request.getParameter()的區別是request.getAttribute()獲得的是對象類型
request.setAttribute()和getAttribute()只是在web容器內部流轉,僅僅是請求處理階段
request.getAttribute("nameOfObj")可得到JSP頁面一表單中控件的Value。其實表單控件中的Object的 name與value是存放在一個哈希表中的,所以在這里給出Object的name會到哈希表中找出對應它的value。
而不同頁面間傳值使用request.setAttribute(position, nameOfObj)時,只會從a.jsp到b.jsp一次傳遞,之后這個request就會失去它的作用范圍,再傳就要再設一個 request.setAttribute()。而使用session.setAttribute()會在一個過程中始終保有這個值。
服務完成了編譯的工作,完成生成了HTML代碼,並把它們返回給瀏覽器去執行,服務器上的那個request已經不存在,所有與它一起的數據都沒有了. 返回給客戶端后,我們就看到了一個表單,然后點擊 "傳送 ",再次訪問服務上的Request.jsp,這時候又產生了一個新的request對像,但以前的那個數據已經不存在了,因為是不同的request了.所以你在Request.jsp里邊再取它,那是當然取不到的了.setAttribute()是針對同一次服務器的訪問的,第一次訪問成功后我們看到了表單,點擊 "傳送 "后,發生了第二次與服務器的請求,產生了新的request

//摘自百度解答


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM