Dao層的封裝和Oracle JDBC連線資料庫

2021-08-18 18:12:19 字數 1620 閱讀 6126

一開始學習oracle jdbc連線的時候一般都是先做乙個基礎類獲取資料庫的連線,在用dao層的類去工作,執行sql語句。

但是沒做乙個功能就要寫乙個執行方法,這樣很麻煩,**也不夠優化。我最近參考了一些資料,把連線資料庫的基礎類和dao層的方法一起封裝到乙個類,用到的話直接呼叫,實現**優化。

先做好資料庫驅動和連線及資源關閉的**

static  catch (exception e)  

} public static connection getconnection() catch (sqlexception e)

return conn;

} // 提供釋放資源的方法

public static void close(connection conn, statement stmt, resultset rs) catch (sqlexception e)

} if (stmt != null) catch (sqlexception e)

} if (conn != null) catch (sqlexception e)

} }

下面是沒有封裝的dao層方法 增加資料的方法

public boolean registeraccounts(string users, string password)  catch (sqlexception e)  catch (sqlexception e1) 

}finally

return false;

}

這個封裝好的方法可以實現上面的功能,但更加優化

//封裝所有dao的更新方法

public boolean actionupdate(string sql,listparams)

使用封裝好的**

/**

* 增加書籍

*/@override

public boolean insertbook(book book)

我個人感覺查詢的封裝方法有點難寫,涉及到string和工具類,物件,和反射的知識例如:

//封裝所有dao的查詢操作

//泛型方法,語法:public listactionquery(),,,返回資料前宣告了乙個泛型

public listactionquery(string sql,listparams,classcls)

else if(type.isassignablefrom(int.class)||type.isassignablefrom(integer.class))

else if(type.isassignablefrom(boolean.class)||type.isassignablefrom(boolean.class))

else if(type.isassignablefrom(date.class))

}list.add(obj);

}} catch (exception e) finally

return list;

}

感覺查詢封裝模擬較難理解,多寫幾次就好多。

java中dao層和service層的區別是什麼?

首先解釋面上意思,service是業務層,dao是資料訪問層。呵呵,這個問題我曾經也有過,記得以前剛學程式設計的時候,都是在service裡直接呼叫dao,service裡面就new乙個dao類物件,呼叫,其他有意義的事沒做,也不明白有這個有什麼用,參加工作久了以後就會知道,業務才是工作中的重中之重...

DAO層和Service層的究極理解

先看後贊,養成習慣。點讚收藏,人生輝煌。說實話,學了挺久的mvc架構了,到現在也一直沒整明白service層和dao層是幹什麼用的,哪怕我目前已經學到了spring boot,但回過頭來看這些基礎知識,依然是不明就裡。感覺service層並沒有做什麼實際的工作,只是接受了servlet,同時又呼叫了...

dao層和service層中對應操作

進行 檢查的時候,被同事發現了乙個問題,dao層中不管是update,insert,delete還是select操作,統一用的是,但是我在使用的時候結果並沒有錯誤,但為了規範,在此做一下總結,貼出 留個教訓。1 select操作 service層中 selectone 查詢一條記錄 select 查...