欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
數據庫相關(guān)(JDBC,存儲過(guò)程,以及大文本數據處理,mvc設計模式)

目錄

1.jdbc總結(模板、八股文):

try{
a.導入驅動(dòng)包、加載具體驅動(dòng)類(lèi)Class.forName("具體驅動(dòng)類(lèi)");
b.與數據庫建立連接connection = DriverManager.getConnection(...);
c.通過(guò)connection,獲取操作數據庫的對象(Statement\preparedStatement\callablestatement)
stmt = connection.createStatement();
d.(查詢(xún))處理結果集rs = pstmt.executeQuery()
while(rs.next()){ rs.getXxx(..) ;}
}catch(ClassNotFoundException e  )
{ ...}
catch(SQLException e)
{...
}
catch(Exception e)
{...
}
finally
{
//打開(kāi)順序,與關(guān)閉順序相反
if(rs!=null)rs.close()
if(stmt!=null) stmt.close();
if(connection!=null)connection.close();
}

--jdbc中,除了Class.forName() 拋出ClassNotFoundException,其余方法全部拋SQLException

2.CallableStatement:調用 存儲過(guò)程、存儲函數

connection.prepareCall(參數:存儲過(guò)程或存儲函數名)
參數格式:
存儲過(guò)程(無(wú)返回值return,用out參數替代):
{ call  存儲過(guò)程名(參數列表) }
存儲函數(有返回值return):
{ ? = call  存儲函數名(參數列表) }



create or replace procedure addTwoNum ( num1  in number,num2  in number,result out number )  -- 1 + 2 ->3
as
begin
result := num1+num2 ;
end ;
/

強調:
如果通過(guò)sqlplus 訪(fǎng)問(wèn)數據庫,只需要開(kāi)啟:OracleServiceSID
通過(guò)其他程序訪(fǎng)問(wèn)數據(sqldevelop、navicate、JDBC),需要開(kāi)啟:OracleServiceSID、XxxListener

3.1JDBC調用存儲過(guò)程的步驟:

a.產(chǎn)生 調用存儲過(guò)程的對象(CallableStatement) cstmt = connection.prepareCall( “…” ) ;
b.通過(guò)setXxx()處理 輸出參數值 cstmt.setInt(1, 30);
c.通過(guò) registerOutParameter(…)處理輸出參數類(lèi)型
d.cstmt.execute()執行
e.接受 輸出值(返回值)getXxx()

3.2調存儲函數:

create or replace function addTwoNumfunction ( num1 in number,num2 in number) – 1 + 2
return number
as
result number ;
begin
result := num1+num2 ;
return result ;
end ;
/
JDBC調用存儲函數:與調存儲過(guò)程的區別:
在調用時(shí),注意參數:"{? = call addTwoNumfunction (?,?) }"

3.處理CLOB/BLOB類(lèi)型

處理稍大型數據:

a.存儲路徑 E:\JDK_API_zh_CN.CHM
通過(guò)JDBC存儲文件路徑,然后 根據IO操作處理
例如:JDBC將 E:\JDK_API_zh_CN.CHM 文件 以字符串形式“E:\JDK_API_zh_CN.CHM”存儲到數據庫中
獲取:1.獲取該路徑“E:\JDK_API_zh_CN.CHM” 2.IO

b.
CLOB:大文本數據 (小說(shuō)->數據)
BLOB:二進(jìn)制

clob:大文本數據 字符流 Reader Writer

a.先通過(guò)pstmt 的? 代替小說(shuō)內容 (占位符)
b.再通過(guò)pstmt.setCharacterStream(2, reader, (int)file.length()); 將上一步的?替換為 小說(shuō)流, 注意第三個(gè)參數需要是 Int類(lèi)型

取:
a.通過(guò)Reader reader = rs.getCharacterStream(“NOVEL”) ; 將cloc類(lèi)型的數據 保存到Reader對象中
b. 將Reader通過(guò)Writer輸出即可。

blob:二進(jìn)制 字節流 InputStream OutputStream
與CLOB步驟基本一致,區別:setBinaryStream(…) getBinaryStream(…)

4.JSP訪(fǎng)問(wèn)數據庫

JSP就是在html中嵌套的java代碼,因此 java代碼可以寫(xiě)在jsp中(<% … %>)

導包操作:java項目 :1 Jar復制到工程中 2.右鍵該Jar :build path ->add to build Path
Web項目:jar復制到WEB-INF/lib

核心:就是將 java中的JDBC代碼,復制到 JSP中的<% … %>

注意:如果jsp出現錯誤:The import Xxx cannot be resolved

嘗試解決步驟:
a.(可能是Jdk、tomcat版本問(wèn)題) 右鍵項目->build path,將其中 報錯的 libary或Lib 刪除后 重新導入
b.清空各種緩存:右鍵項目->Clean tomcat… clean (Project -clean或者 進(jìn)tomcat目錄 刪除里面work的子目錄)
c.刪除之前的tomcat,重新解壓縮、配置tomcat,重啟計算機
d.如果類(lèi)之前沒(méi)有包,則將該類(lèi)加入包中

5.JavaBean

剛才我們將 jsp中 登錄操作的代碼 轉移到了LoginDao.java;其中LoginDao類(lèi) 就稱(chēng)之為JavaBean。
JavaBean的作用:

a.減輕的jsp復雜度

b.提高代碼復用(以后任何地方的 登錄操作,都可以通過(guò)調用LoginDao實(shí)現)

JavaBean(就是一個(gè)Java類(lèi))的定義:滿(mǎn)足一下2點(diǎn) ,就可以稱(chēng)為JavaBean
a.public 修飾的類(lèi) ,public 無(wú)參構造
b.所有屬性(如果有) 都是private,并且提供set/get (如果boolean 則get 可以替換成is)

使用層面,Java分為2大類(lèi):
a.封裝業(yè)務(wù)邏輯的JavaBean (LoginDao.java封裝了登錄邏輯) 邏輯
可以將jsp中的JDBC代碼,封裝到Login.java類(lèi)中 (Login.java)

b.封裝數據的JavaBean (實(shí)體類(lèi),Student.java Person.java ) 數據
對應于數據庫中的一張表
Login login = new Login(uname,upwd) ;//即用Login對象 封裝了2個(gè)數據(用戶(hù)名 和密碼)

封裝數據的JavaBean 對應于數據庫中的一張表 (Login(name,pwd))
封裝業(yè)務(wù)邏輯的JavaBean 用于操作 一個(gè)封裝數據的JavaBean

可以發(fā)現,JavaBean可以簡(jiǎn)化 代碼(jsp->jsp+java)、提供代碼復用(LoginDao.java)

public void sleep(String name,String place, int time)
{

}

public void sleep(Person per)
{
per.getName()
per.getPlace()

}

6.MVC設計模式:

M:Model ,模型 :一個(gè)功能。用JavaBean實(shí)現。

V:View,視圖: 用于展示、以及與用戶(hù)交互。使用html js css jsp jquery等前端技術(shù)實(shí)現

C:Controller,控制器 :接受請求,將請求跳轉到模型進(jìn)行處理;模型處理完畢后,再將處理的結果
返回給 請求處 。 可以用jsp實(shí)現, 但是一般建議使用 Servlet實(shí)現控制器。

Jsp->Java(Servlet)->JSP

Servlet:
Java類(lèi)必須符合一定的 規范:
a.必須繼承 javax.servlet.http.HttpServlet
b.重寫(xiě)其中的 doGet()或doPost()方法

doGet(): 接受 并處 所有g(shù)et提交方式的請求
doPost():接受 并處 所有post提交方式的請求

Servlet要想使用,必須配置
Serlvet2.5:web.xml
Servle3.0: @WebServlet

Serlvet2.5:web.xml:

項目的根目錄:WebContent 、src

所在的jsp是在 WebContent目錄中,因此 發(fā)出的請求WelcomeServlet 是去請求項目的根目錄。

Servlet流程:
請求 -> -> 根據中的 去匹配 中的,然后尋找到,求中將請求交由該執行。

2個(gè)/:
jsp:/ localhost:8888
comeServlet 是去請求項目的根目錄。

Servlet流程:
請求 -> -> 根據中的 去匹配 中的,然后尋找到,求中將請求交由該執行。

2個(gè)/:
jsp:/ localhost:8888
web.xml: / http://localhost:8888/項目名/

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
JavaEE的核心技術(shù)簡(jiǎn)介
servlet和JSP有本質(zhì)上的區別么?
Java程序員的學(xué)習路線(xiàn)
java學(xué)習路線(xiàn)圖
Java EE要死掉了?
前言
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久