您的位置 首页 java

如何基于JAVA泛型实现通用DAO的CURD操作

使用 JAVA 开发企业应用程序时都会涉及到对象的持久化操作,为了降低业务逻辑操作的耦合度,通常需要创建大量的DAO对象。 Dao 对象主要功能就是实现CRUD,其实也就是增删改查操作。在设计过程中我们常常需要花费大量的时间重复定义上述的方法。那么有没有一种设计,可以减少这些重复操作呢,这就是我要给大家分享的内容。利用JDK5引入的 泛型 语法,实现一个通用的DAO对象,充分提交代码的复用性。下面DAO的实现以 Mybatis ORM框架 ,当然也适用于其他的ORM框架。

通用DAO接口就是在底层设计一个BaseDao接口,这个DAO接口里面抽象了一些Dao接口都会用到的基本方法比如:添加、修改、删除、查询等方法,在定义接口时通过泛型,然后可以让不同的实现类在实现时通过泛型来指定各自的数据类型,从而实现各自数据库表的增删改查操作。

BaseDAO接口

通常一个底层DAO最基本的操作就是实现对象的保存、修改、查询、删除操作。因此我们在BaseDAO接口定义以下方法:

上面是通用的BaseDao接口的定义,为了测试是否可以通用,达到效果,接下来以员工表操作为例,采用 Spring +Mybatis框架对员工进行增删改查,继续定义 Service 层和Test测试操作。

EmployeeOperMapper接口

继承BaseDao 接口,把BaseDao 接口的方法继承过来。

EmployeeMapper.xml文件

定义和接口方法对应的 sql语句

BaseService接口

定义增删改查(CRUD)的方法

EmployeeOperService接口

定义EmployeeOperService接口,继承上面的BaseService接口。

BaseServiceImpl类

实现上面的BaseService接口。

EmployeeServiceImpl实现类

继承BaseServiceImpl类,并注入dao 层的Mapper接口。

测试类EmployeeOperTest

最后定义测试类,测试定义的增删改查方法,是否可用。

以上在集成 junit 环境下测试都已通过,说明设计的通用的底层BaseDao接口已经完成。

文章来源:智云一二三科技

文章标题:如何基于JAVA泛型实现通用DAO的CURD操作

文章地址:https://www.zhihuclub.com/196793.shtml

关于作者: 智云科技

热门文章

网站地图