一開始學習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 查...