JavaWeb中Dao层的接口和基本功能简单抽取技巧

在dao层书写具体实现类的时候会将dao层功能抽取到接口中,然后去实现该接口,实现具体方法,书写具体功能代码。

抽取如图:

但是这种抽取不是很友好,由图可以看出,每个实现类中都要书写共同的增删改查方法,这样就是使得代码存再冗余,重复代码多次书写。此时就需要考虑将增删改查的代码再次抽取出来,写在一个类中。

抽取如图:

将增删改查的共用代码抽取到BaseDaoImpl中,提高代码的重用性,在具体的Dao调用共用方法时,指定泛型类型即可。

时间: 2024-10-17 03:33:57

JavaWeb中Dao层的接口和基本功能简单抽取技巧的相关文章

java web项目DAO层通用接口BaseDao与实现类BaseDaoImpl

在spring+hibernate的web项目中,处理数据层通常会使用Spring框架提供的HibernateTemplate类提供的方法.通常的用法是每一个实体类对应的去写DAO层的接口和实现类.每个实现类中都写hibernateTemp.save(entity).hibernateTemp.update(entity).hibernateTemp.get(id)...这样写固然没错,但存在着大量的重复代码.所以懒惰的程序员烦了,他们要写一个通用的实现类来解决这个问题,让DAO层解放出来.如果

深入理解--SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用

SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层.存放我们的实体类,与数据库中的属性值基本保持一致. service层.存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方

简单来说一下java中的泛型,ssh中dao层使用会简化代码量

原来只是听老师说泛型特别好用,但是后来一直弄android用的泛型就比较少了,可是感觉它真的很重要,于是花了一下午的时间写了个demo,好,老规矩,上代码: 首先,sysout是个工具,但是用着不顺手,博主按照自己的习惯写了一个工具类, s: package cn.edu.sjzc.fanyafeng.testlamejni.util; /** * System统一管理类 * * @author 樊亚风 */ public class S { private S() { /* cannot be

SpringMVC中dao层设置参数

1:直接写参数名 2:参数为一个或者多个时,按照参数的顺序写,用arg 3:只有一个参数用_parameter 原文地址:https://www.cnblogs.com/coisini/p/9715547.html

JavaWeb中的文件上传和下载功能的内容就这么多

一.开发环境搭建 创建一个FileUploadAndDownLoad项目,加入Apache的commons-fileupload文件上传组件的相关Jar包,如下图所示: 二.实现文件上传 2.1.文件上传页面和消息提示页面 upload.jsp页面的代码如下: 1<%@ page language="java" pageEncoding="UTF-8"%> 2<!DOCTYPE HTML> 3<html> 4<head>

[转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分

首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断).Action层:引用对应的Service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理.以上的Hibernate,Struts,都需要注入到Spring的配置文件中,Spring把这些联系

为什么在SSM中的dao层不用写@Repository注解

1.  Mybatis 接口编程中dao 层接口没有注解和 为什么能被实例化为bean? 在Spring配置Mybatis的文件中我们可以看到如下代码: <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="org.tarena.note.dao"> </property

基于Mybatis的Dao层的开发

基于Mybatis的Dao层开发 SqlSessionFactoryBuilder用于创建SqlSessionFacoty,SqlSessionFacoty一旦创建完成就不需要SqlSessionFactoryBuilder了,因为SqlSession是通过SqlSessionFactory生产,所以可以将SqlSessionFactoryBuilder当成一个工具类使用,最佳使用范围是方法范围即方法体内局部变量. SqlSessionFactory是一个接口,接口中定义了openSession

DAO层,Service层,Controller层、View层介绍

来自:http://jonsion.javaeye.com/blog/592335 DAO层 DAO 层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此 接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及 有关数据库连接的参数都在Spring的配置文件中进行配置. Service层 Service 层主要负责业