這篇文章主要講解了“java DAO設(shè)計模式有哪些功能”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“java DAO設(shè)計模式有哪些功能”吧!
什么是DAO
DAO是Data Access Object數(shù)據(jù)訪問接口,數(shù)據(jù)訪問:故名思義就是與數(shù)據(jù)庫打交道。夾在業(yè)務(wù)邏輯與數(shù)據(jù)庫資源中間。
DAO的功能:
1. DAO用來封裝Data Source的..就比如,Connection conn = DAOFacotry.createConnection()..
就可以把Driver. URL. username, passpword這一些放在DAO中
以后要更改數(shù)據(jù)庫的類型.比如要把MSSQL換成Oracle的話..只需要更改DAOFacory里面的getConnection()里面的Driver.URL.之類的..
2. DAO也是把對數(shù)據(jù)庫的操作(比如最基本的CRUD操作)全部封裝在里面..
比如說你要你要插入一個新的用戶..那么.在DAO中我們只需要提供一個insertUser(User user)這一個方法就可以了..具體的操作是在DAO中實現(xiàn)的...
那么對于要調(diào)用DAO的時候.我們只要知道insertUser(User)是用來插入一個新的用戶...而不需要知道是如何實現(xiàn)的。
一般 DAO是與Abstract Factory模式一起來用的...
Factory來建立數(shù)據(jù)庫和定位具體的DAO(比如說是UserDao..CustomerDao..)..一般將getConnection設(shè)置為static..也可以把HibernateSessionFactory這一個公共類放在這一AbstractFactory類中去...
public class DAOFactory {
private static final SessionFactory sessionFacotory;
// 定義一個TrheadLocal .
static Session currentSession().....
public UserDao getUserDAO() { return new UserDaoImpl(sesssion);}
pulbic OtherDao getOtherDAO() { return new OtherDaoImpl(session);}
......
}
public interface UserDao {
public insertUser(FormBean)
public updateUser(FormBean);
}
然后就實現(xiàn)DAO的接口: (Struts的FormBean...VO來的..)
public class UserDaoImpl implements UserDao {
private Session session;
public UserDaoImpl(Session session){
this.session = session;
}...
public insertUser(FormBean) {
..//..
session.save(UserPO);
..//..
return FormBean;
}
public FormBean updateUser(FormBean) {
..//..
session.update(UserPO);
..//..
return FormBean;
}
}
最后定義你的PO:
public class UserPO {
String firstname, lastname, password..........
}
感謝各位的閱讀,以上就是“java DAO設(shè)計模式有哪些功能”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對java DAO設(shè)計模式有哪些功能這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
分享題目:javaDAO設(shè)計模式有哪些功能-創(chuàng)新互聯(lián)
路徑分享:http://chinadenli.net/article44/dhjgee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、定制開發(fā)、網(wǎng)站排名、微信公眾號、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容