如何在所有表/ bean操作(插入)的DAO类上创建?

时间:2014-08-25 13:15:11

标签: java design-patterns

是否可以为不同的bean /表构建一个通用的DAO类? 目前,我正在为每个不同的表创建不同的DAO类:CustomerDAOEmployeeDAOStudentDAO

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。

怎么样?

这是所有CustomerDBO,EmployeeDBO,StudentDBO的基础DBO类。

public class BaseDBO {
}

现在,你的每个DBO都是这样的,

public class CustomerDBO extends BaseDBO {}
public class EmployeeDBO extends BaseDBO {}
public class StudentDBO extends BaseDBO {}

在BaseDAO中编写所有常用方法,如

public class BaseDAO<T extends BaseDBO> {

    void create(T t){}
    void update(T t){}
    void delete(T t){}
}

现在特定的DAO看起来像

CustomerDAO,

public class CustomerDAO extends BaseDAO<CustomerDBO> {
}

现在,对于CustomerDAO,包含DAO常用的所有方法。

同样适用于StudentDAO,EmployeeDAO。

希望这会有所帮助!!