DAO模式

Hibernate反射DAO模式

…衆ロ難τιáo~ 提交于 2019-12-06 14:59:19
在持久层框架中,如果我们要像简单的 JDBC 连接数据库那样写一个通用的 Dao 方法的话,那么把 JDBC 简单的业务逻辑搬到 hibernate 持久层框架中,当然是不可能的,这里主要的问题就在于 hibernate 持久层框架中,因为它不是像 JDBC 那样简单的增删改查的编写,而是要针对实体类映射配置文件来对照数据库表字段进行操作,而且操作是面向对象的查询,不是简单的 sql 语句的查询,这样我们的通用 DAO 模式就不能是简单的 JDBC 思路了。 试想,项目底层的通用 DAO 接口方法,是适用于所有实体类对象应用的,而且数据库读取的所有实体类集合也是一个通用的类模型。这样,和简单的 JDBC 模式不同的基础上, hibernate 通用的 DAO 模型,就需要我们利用反射序列化的技术机制来完成。因此无论是插入的类对象和读取的类模型信息,通过反射序列化来获取。具体的操作流程如下: 首先,在我们的通用 DAO 接口中,体现出所有通用功能的方法名外,我们需要定义的另外一个技术,就是泛型类编程模式,我们需要给类加上类型,也就是给类加上泛型模式编程。另外,在泛型中,需要定义两个属性, 1 是给类加一个继承序列化的变量,和给主键 ID 继承的一个序列化。因此反射 DAO 接口如下: public interface IGenericDao<T extends