DAO Data Acess Object
数据访问对象,对数据库进行访问的基类。

解决方案 »

  1.   

    谢谢你 ,
     thefishwilldie(我不懂啊!!!) 
    能说说这个在一个J2EE中起什么作用吗,和JDBC什么联系
      

  2.   

    在J2EE中一般是MVC中的 Model层,一般需要调用JDBC和数据库建立连接。
      

  3.   

    请教: thefishwilldie(我不懂啊!!!) 
    DAO是不是一个封闭访问的手段呀
      

  4.   

    DAO这个英文缩写
    在不同的地方,有不同的意思,
    在我使用struts的过程中,
    它是代表Database Access Operation 嘛
    即:
    jsp->action->DAO/Oper->database
    也就是:一个用于对数据库进行各种操作的类。
      

  5.   

    Leemaasn(他这家伙不怀好意 :P) 大哥说的也有道理,我可能浅薄了,受教了~`
     
    lmyabc(风之舞) ( ) 信誉:100  2003-10-10 11:36:00  得分:0 
     请教: thefishwilldie(我不懂啊!!!) 
    DAO是不是一个封闭访问的手段呀是,至少我认为是对数据库访问的封装,原来在用MFC中的DAO实际上也是如此是对ODBC的封装便于快捷的访问数据库。
      
     
      

  6.   

    Data Access Object,即数据访问对象
    一般作为数据库表的抽象,比如你有由一张数据库
    table YHJB(
      id number(5),
      name varchar2(10)
    )
    则可以抽象成DAO
    public class DAO_YHJB{
      private long id;
      private String name;
      public DAO_YHJB() {
        //your operation
        //for example:connecting database
      }
      public void setId(long id) {
        this.id = id;
      }
      public long getId() {
        return this.id;
      }
      public void setName(String name) {
        this.name = name;
      }
      public void getName() {
        return this.name;
      }  //other method
      public void insert(VO_YHJB vo_YHJB) {
        StringBuffer insertSQL = new StringBuffer("insert into yhjb(id, name) values(");
        insertSQL.append(vo_YHJB.getId());
        insertSQL.append(",");
        insertSQL.append(vo_YHJB.getName());
        insertSQL.append(")");
        //database operation
      }
    }
    主要用来操作数据库,整个项目可以指通过DAO来和数据库打交道,避免在每个地方都直接使用JDBC,便于维护,也可以节省很多代码量。
      

  7.   

    另外,你要是写过EJB的话,应该了解Entity Bean,其实Entity Bean也是对数据库表的抽象,其实理解起来,DAO在某些方面就和Entity Bean有点像。