<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dict.CN 在線詞典, 英語學(xué)習(xí), 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統(tǒng)計(jì)

    留言簿(23)

    積分與排名

    優(yōu)秀學(xué)習(xí)網(wǎng)站

    友情連接

    閱讀排行榜

    評(píng)論排行榜

    淺談DAO(轉(zhuǎn)載)

    ?
    http://blog.csdn.net/paddyhuang/archive/2004/11/24/193905.aspx
    什么是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也是把對(duì)數(shù)據(jù)庫的操作(比如最基本的CRUD操作)全部封裝在里面..
    比如說你要你要插入一個(gè)新的用戶..那么.在DAO中我們只需要提供一個(gè)insertUser(User user)這一個(gè)方法就可以了..具體的操作是在DAO中實(shí)現(xiàn)的...
    那么對(duì)于要調(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類中去...

    publicclass DAOFactory {
    privatestaticfinal SessionFactory sessionFacotory;
    // 定義一個(gè)TrheadLocal .
    static Session currentSession().....
    public UserDao getUserDAO() { returnnew UserDaoImpl(sesssion);}
    pulbic OtherDao getOtherDAO() { returnnew OtherDaoImpl(session);}
    ......
    }


    publicinterface UserDao {
    public insertUser(FormBean)
    public updateUser(FormBean);
    }

    然后就實(shí)現(xiàn)DAO的接口: (Struts的FormBean...VO來的..)

    publicclass 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:
    publicclass UserPO {
    String firstname, lastname, password..........
    }

    posted on 2006-04-26 16:43 都市淘沙者 閱讀(368) 評(píng)論(0)  編輯  收藏 所屬分類: Java Basic/Lucene/開源資料

    主站蜘蛛池模板: 亚洲一区免费观看| 亚洲色偷偷偷网站色偷一区| 日本高清免费aaaaa大片视频| 日本亚洲免费无线码| 亚洲电影免费观看| www.免费在线观看| 真人做A免费观看| 114一级毛片免费| 18勿入网站免费永久| 国产卡二卡三卡四卡免费网址| 四虎在线免费视频| 老司机在线免费视频| 中字幕视频在线永久在线观看免费 | 无码人妻一区二区三区免费n鬼沢| 在线视频网址免费播放| 9久久免费国产精品特黄| 免费无码又爽又刺激网站直播| AAA日本高清在线播放免费观看| 久久国产乱子精品免费女| 亚洲电影免费在线观看| 最近免费中文字幕高清大全| 国产成人精品免费视频动漫| 色妞WWW精品免费视频| 国产又大又粗又硬又长免费| 亚洲综合色区在线观看| 好看的电影网站亚洲一区| 亚洲韩国—中文字幕| 亚洲一区二区三区在线 | 亚洲乱码中文字幕久久孕妇黑人| 亚洲国产精品无码专区影院| 亚洲春色另类小说| 亚洲精品国产第一综合99久久| 国产亚洲精彩视频| 本免费AV无码专区一区| 久久午夜夜伦鲁鲁片免费无码影视| 99精品国产免费久久久久久下载| 国产男女猛烈无遮挡免费网站| 亚洲中文字幕无码日韩| 亚洲欧洲日产专区| 免费播放美女一级毛片| 美女无遮挡拍拍拍免费视频|