DTO DAO & PAO(J2EE design pattern摘记及感想5)

来源:互联网 发布:万游网络 编辑:程序博客网 时间:2024/05/01 15:38

DTO:数据传递对象:

与其通过多次调用来获取一组相关数据,不如用一次调用获取一个包含了我们在当前事务中所需要的所有东西的定制对象。

串串烧:

PatientBean即我们定制的对象。这个对象提供了一组的get和set方法,来操作数据项。我们只要得到了这个对象,则可以操作所有当前事务中要操作的数据项了。

如何得到该对象?ejbLoad方法

首先从EntityContext中找到要找对象的主键(getPrimaryKey),然后建立JNDI lookup的本地方法,Connection con=getConnection。准备好sql语句,PreparedStatment ps=con.prepareStatement,最后运行sql,得到ResultSet,从ResultSet中,我们得到相应的东西,来初始化这个对象。有时候,要得到信息,还需要表的联接,这也通过运行相应的sql语句。

行集DTO:

包装一个ResultSet,我们可以通过getRow(index)得到ResultSet的某一行。主要ResultSet只是提供next方法,只能顺序遍历。ResultSetMetaData md=ResultSet.getMetaData()。md.getColumnName().可以提供列名信息(各列属性)。

DAO:数据访问对象:

从外部数据源读取数据,并提供对象(DTO对象)给业务组件使用。DAO非远程对象,对数据操作只能是存取,不能有业务方法。findPatient savePatient。然后,ejbLoad就可以调用findPatient方法了。

DAO工厂模式:可以根据系统属性,创建相应的PatientDAO。System.getProperty

LazyLoad:需要时才载入,特别是一些表的联接等耗时操作。

isDirty模式:被修改过的才写入(如只要写一个表,其它四个没改过)

PAO:过程访问对象,DAO的特殊形式,PAO增加了处理业务的能力(通过Command模式,如提供execute方法)