關於Dao類理解

2021-10-08 06:59:48 字數 1491 閱讀 8330

正因如此,我們在dao中的類,他的語句以及思路,應該是圍繞著與資料庫之間的互動展開的。

我認為dao中的類的語句可以分為這幾部分:

①首先,我們需要連線上資料庫

connection conn = jdbcutil.

getconnection()

;

②我們需要乙個sql語句

string sql =

"insert into users(username,password,***,email)values(?,?,?,?)"

;

③我們需要獲取乙個執行sql語句的物件

可以使用這種方式

statement stmt = conn.

createstatement()

;resultset rs =

executequery

(sql)

;

也可以使用預編譯的方式(這種方式的優點在於,如果傳入引數中可能包含對sql語句起作用的語句,通過預先編譯了sql語句,也不會對結果產生影響),而現在一般也是在使用這個

preparedstatement ps = null;

ps = conn.

preparestatement

(sql)

;

④我們需要向sql語句中傳入資料(這裡用ps舉例)

//這時候的前提是servlet介面被瀏覽器中傳入了乙個user物件,servlet將這個user物件傳入了dao中,讓其傳入資料庫中

ps.setstring(1

, user.

getusername()

);ps.setstring(2

, user.

getpassword()

);ps.setstring(3

, user.

get***()

);ps.setstring(4

, user.

getemail()

);

⑤執行sql語句

result = ps.

executeupdate()

;

⑥關閉資料庫連線

jdbcutil.

close

(conn, ps, rs)

;

這就是dao與資料庫互動的真個過程,也就是相當於乙個小的jdbc在工作一遍的過程,而正因如此,每次的使用者操作都會導致與資料庫的連線斷開,所以我們會選擇使用***直接在程式開始時直接獲得連線,在程式關閉時自動釋放連線,正如上篇文章所說。

關於Service和Dao的關係

在新的專案裡,沒有辦法理解service和dao的意義,今天在晚上查詢了一下 service層的作用,在jdon上搜到了一篇帖子,層的職責的請教,看到了裡面的一些討論,自己對這兩個層次的劃分也明確了許多。service層是業務邏輯,包括對一些資料的預處理啊,這樣的一層也便於以後業務變化後,改動的代價...

dao層 service層 事務的理解

dao層 對應資料最底層操作,一般來說,乙個資料庫table對應乙個dao,單錶操作。service層 把客戶多方面要求進行彙總,對外只有引數即可,至於服務層操作多少個dao與客戶無關。事務四大特性 1.原子性 原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。2.一致性...

關於swf類庫的理解

swc 的作用 只是 幫助逃過編譯期檢查。swf才作為真正的類庫,其中包含了編譯後的 類 但如果,沒有相應的swc,類庫swf中的類不能在其他類中 顯式 地引用 直接通過類名引用,例var f myfont new myfont 但也可以用 getdefinitionbyname 存在與swf類庫中...