Dict.CN 在線詞典, 英語學習, 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          統計

          留言簿(23)

          積分與排名

          優秀學習網站

          友情連接

          閱讀排行榜

          評論排行榜

          淺談DAO(轉載)

          ?
          http://blog.csdn.net/paddyhuang/archive/2004/11/24/193905.aspx
          什么是DAO
          DAO是Data Access Object數據訪問接口...
          數據訪問..故明思異就是與數據庫打交道...
          是夾在業務邏輯與數據庫資源中間...



          DAO的功能:

          1. DAO用來封裝Data Source的..就比如,Connection conn = DAOFacotry.createConnection()..
          就可以把Driver. URL. username, passpword這一些放在DAO中
          以后要更改數據庫的類型.比如要把MSSQL換成Oracle的話..只需要更改DAOFacory里面的getConnection()里面的Driver.URL.之類的..
          2. DAO也是把對數據庫的操作(比如最基本的CRUD操作)全部封裝在里面..
          比如說你要你要插入一個新的用戶..那么.在DAO中我們只需要提供一個insertUser(User user)這一個方法就可以了..具體的操作是在DAO中實現的...
          那么對于要調用DAO的時候.我們只要知道insertUser(User)是用來插入一個新的用戶...而不需要知道是如何實現的..


          一般 DAO是與Abstract Factory模式一起來用的...

          Factory來建立數據庫和定位具體的DAO(比如說是UserDao..CustomerDao..)..一般將getConnection設置為static..也可以把HibernateSessionFactory這一個公共類放在這一AbstractFactory類中去...

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


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

          然后就實現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 都市淘沙者 閱讀(369) 評論(0)  編輯  收藏 所屬分類: Java Basic/Lucene/開源資料

          主站蜘蛛池模板: 克山县| 松阳县| 竹溪县| 自治县| 湛江市| 景谷| 宜宾市| 承德市| 金湖县| 汉沽区| 阳信县| 扶风县| 焉耆| 丰宁| 慈利县| 汽车| 梨树县| 莲花县| 安溪县| 法库县| 晋江市| 四子王旗| 公安县| 建平县| 阿尔山市| 灵石县| 顺平县| 汽车| 富源县| 蓬安县| 蚌埠市| 油尖旺区| 林周县| 德州市| 博客| 河源市| 平顺县| 沙坪坝区| 搜索| 阳曲县| 奉贤区|