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..........}

她是应该难过的往回走,还是蹲下来哭泣?

JAVA入门:DAO设计模式

相关文章:

你感兴趣的文章:

标签云: