這篇文章主要講解了“java DAO設(shè)計(jì)模式有哪些功能”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“java DAO設(shè)計(jì)模式有哪些功能”吧!
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計(jì),象山網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:象山等地區(qū)。象山做網(wǎng)站價(jià)格咨詢:18980820575什么是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操作)全部封裝在里面..
比如說你要你要插入一個(gè)新的用戶..那么.在DAO中我們只需要提供一個(gè)insertUser(User user)這一個(gè)方法就可以了..具體的操作是在DAO中實(shí)現(xiàn)的...
那么對于要調(diào)用DAO的時(shí)候.我們只要知道insertUser(User)是用來插入一個(gè)新的用戶...而不需要知道是如何實(shí)現(xiàn)的。
一般 DAO是與Abstract Factory模式一起來用的...
Factory來建立數(shù)據(jù)庫和定位具體的DAO(比如說是UserDao..CustomerDao..)..一般將getConnection設(shè)置為static..也可以把HibernateSessionFactory這一個(gè)公共類放在這一AbstractFactory類中去...
public class DAOFactory {
private static final SessionFactory sessionFacotory;
// 定義一個(gè)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);
}
然后就實(shí)現(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è)計(jì)模式有哪些功能”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對java DAO設(shè)計(jì)模式有哪些功能這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!