服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java新手入门:浅谈dao模式


  什么是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类中去...
  
  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);
  }
  然后就实现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..........
  }

扫描关注微信公众号