0 0

详细设计泛型dao10

我的项目采用Struts2+Spring2.5开发的,没有用hibernate,hibernate效率太低.现在写dao工具类出现了点问题,然后在网上找了一些资料,真是天下文章一大抄,几乎所有文章都一样,没有实质进展,好了,看一下问题

一个基础的接口
import java.io.Serializable;
import java.util.List;

public interface IBaseDAO<T, ID extends Serializable> {
	public void save(String sql);

	public void delete(String sql);

	public void update(String sql);

	public List<Object> findAll(String sql);

	public T findById(String sql);

}




一个基础的接口的实现用Spring中的JdbcDaoSupport去实现的

import java.io.Serializable;
import java.util.List;

import org.springframework.jdbc.core.support.JdbcDaoSupport;

public class BaseSpringDAO<T, ID extends Serializable> extends JdbcDaoSupport
implements IBaseDAO<T, ID> {

public void delete(String sql) {
// 这里的方法我就不写了
}

public List<Object> findAll(String sql) {
// 这里的方法我就不写了
return null;
}

public T findById(String sql) {
// 这里的方法我就不写了
return null;
}

public void save(String sql) {
// 这里的方法我就不写了

}

public void update(String sql) {
// 这里的方法我就不写了
}

}
一个简单的用户业务接口
import com.domain.UserInfo;
import com.util.dao.IBaseDAO;

public interface IUserInfoDAO extends IBaseDAO<UserInfo ,Integer>  {

}


一个简单的用户业务接口的实现

import com.dao.user.IUserInfoDAO;
import com.domain.UserInfo;
import com.util.dao.BaseSpringDAO;

public class UserInfoJdbcDAOImpl extends BaseSpringDAO<UserInfo,Integer> implements IUserInfoDAO {

}




我现在搞不明白IUserInfoDAO,UserInfoJdbcDAOImpl怎么来写,我在网上找了一下别人说的
我们自己所要使用的DAO类,就可以直接从这个IBaseDAO的DAO类继承:
比如说我们定义一个IUserInfoDAO 接口,该接口继承IBaseDAO:
java 代码
public interface IUserInfoDAO extends IBaseDAO〈UserInfo,Integer〉
{  
    public UserInfofind(String username,String password);  
    public UserInfofind(String username);  
}  
该接口从IGenericDAO继承,自然也就定义了IGenericDAO接口所定义的通用CRUD操作。

再来看一下针对IUserInfoDAO 的jdbc实现UserDAOHibernate:
java 代码
public class UserDAOHibernate extends UserInfoJdbcDAOImpl 〈UserInfo,Integer,IUserInfoDAO 〉 implements IUserInfoDAO {      

  
    public User find(String username, String password) {  
        //此处省略具体代码  
    }  
  
    public User find(String username) {  
        //此处省略具体代码  
    }  
}  

这个是从csdn上面看的


这些东西我怎么就搞不明白呢?不知道写这个是什么意思。。。。请高手们能给我说明一下意思吗?最好把代码写上去说明好,谢谢。。。
DAO 
2010年3月21日 15:43

1个答案 按时间排序 按投票排序

0 0

引用
没有用hibernate,hibernate效率太低


象IBaseDAO这种类用了hibernate就不用自己实现了,或者使用ibatis,自己写没有必要。

2010年3月21日 16:42

相关推荐

    泛型dao 泛型dao 泛型dao

    Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...

    经典泛型dao层代码,非常好用简易

    通过上述分析,我们可以看出,合理设计和运用泛型DAO层,不仅可以显著提高代码的复用性和维护性,还能极大地简化复杂的数据库操作,使得开发人员能够更加专注于业务逻辑的实现。因此,对于那些追求高质量、高效率的...

    大家看看我设计的泛型DAO(使用Spring的Anotation和Hibernate)

    本篇文章将深入探讨一个使用Spring注解和Hibernate实现的泛型DAO设计,以提高代码的复用性和可维护性。 首先,`HibernateBaseDao.java`是基础的Hibernate DAO类,它提供了对Hibernate操作的基本封装。这个类通常会...

    泛型dao

    【泛型DAO】是一种在Java开发中常见的设计模式,它利用了Java泛型特性来提高代码的可重用性和类型安全性。在Java中,DAO(Data Access Object)模式是用来封装对数据库的操作,将业务逻辑与数据访问逻辑分离,使得...

    Hibernate泛型DAO(结合spring模板支持)

    泛型DAO是一种设计模式,它通过定义一个通用的DAO接口或抽象类,可以适用于不同的实体类,减少了重复的代码。这种模式的核心在于利用Java的泛型特性,使得DAO方法可以处理任何类型的实体对象,而无需为每个实体类...

    一个很好的通用泛型dao(含源码)

    而泛型DAO是一个类型安全的,代码精简的设计模式(相对于传统DAO),尤其在DAO组件数量庞大的时候,代码量的减少更加明显。 泛型DAO的核心是定义一个GenericDao接口,声明基本的CRUD操作: 用hibernate作为持久化...

    JdbcTemplate通用泛型Dao实现

    `JdbcTemplate`的泛型Dao实现是一种设计模式,目的是提高代码的可重用性和可维护性。通过定义一个泛型接口,我们可以创建一个通用的数据访问对象(DAO),这个DAO可以处理任何类型的实体类,只要它们遵循一定的规则...

    泛型DAO,注释详细

    泛型DAO(Generic DAO)是DAO模式的一个扩展,它引入了泛型的概念,提高了代码的复用性和类型安全性。本篇文章将深入探讨泛型DAO的实现原理、优势以及如何在实际项目中应用。 首先,我们来理解什么是泛型。泛型是...

    S2SH整合例子 注解配置 JSON 泛型Dao

    这些配置文件和代码会详细阐述如何进行S2SH的整合,以及如何使用注解进行配置,如何处理JSON数据,以及如何设计和实现泛型Dao。通过深入学习和实践这些内容,开发者可以更好地理解和掌握企业级Java Web应用的开发...

    Java Web程序运用中泛型DAO的作用.pdf

    文章详细阐述了泛型DAO模式的设计方法,包括在实现方法中直接定义泛型,或者在类和接口上定义泛型。泛型DAO模式通过抽象化设计,增强了程序的复用性和简化了编程语言,同时在程序运行结束后进行类型检查,避免了运行...

    spring hibernate 泛型DAO

    本文将深入探讨“Spring Hibernate 泛型DAO”这一主题,以及如何通过泛型DAO实现更加高效、可复用的代码。 首先,让我们理解什么是DAO(Data Access Object)模式。DAO是一种设计模式,它的主要作用是隔离业务逻辑...

    SSH 泛型DAO分页

    下面将详细介绍SSH框架及其分页和泛型DAO的概念。 1. **Struts2**: Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,用于简化Java Web应用的开发。它提供了动作(Action)类来处理用户请求,...

    Java Web程序运用中泛型DAO的作用.zip

    而泛型DAO是DAO模式的一个进阶应用,它通过引入泛型来提高代码的复用性和可维护性。 泛型(Generics)是Java 5引入的一个重要特性,它可以让我们在编译时检查类型安全,并且允许我们创建参数化的类型。在泛型DAO中...

    Hibernate泛型DAO及使用方法.doc

    而泛型DAO(Data Access Object)则是基于Hibernate进一步抽象出来的一个设计模式,用于提供更通用的数据操作方法。本文档主要探讨了如何在Spring+Hibernate环境中创建和使用泛型DAO。 首先,我们来看一下泛型DAO...

    ssh通用泛型DAO

    总的来说,"ssh通用泛型DAO"是一种设计模式,旨在简化SSH框架下的数据访问层开发,提高代码复用性,减少重复工作,同时通过泛型提供类型安全的保障。理解和熟练运用这一模式,能够有效地提升Java Web应用的开发效率...

    基于hibernate的泛型Dao框架

    `GenericDao.txt`可能包含的是关于泛型Dao框架的设计文档或者代码示例,详细解释了如何使用泛型Dao进行数据库操作,可能包括如何定义泛型接口,以及如何创建和使用它的实现类。 `bin`目录通常是编译后生成的Java...

    泛型DAO模型设计课堂笔记

    【泛型DAO模型设计】是Java开发中一种高效且可复用的数据访问对象(DAO)设计方式,结合了泛型和反射技术。泛型在Java中引入,旨在提高代码的安全性和可读性,减少类型转换的繁琐过程。DAO设计模式主要用于数据库...

    Hibernate泛型DAO接口,大部分通用都已包括

    本篇将详细介绍"Hibernate泛型DAO接口,大部分通用都已包括"这一主题。 首先,让我们看看DAO的概念。DAO是软件设计模式中的一种,它的主要职责是封装对数据源的访问,以提供业务逻辑层与数据存储层之间的解耦。通过...

Global site tag (gtag.js) - Google Analytics