本文主要是介绍12.3 Dao层的设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
基类Dao:
-- 基于Hibernate的BaseDao.java
import java.io.Serializable;
import java.lang.reflect.Type;
import java.lang.reflect.ParameterizedType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate4.HibernateTemplate;public class BaseDao<T> { @Autowired private HibernateTemplate hibernateTemplate;private Class entityClass;public BaseDao(){Type genType = getClass().getGenericSuperclass();Type[] params = ((ParameterizedType) genType).getActualTypeArguments();entityClass = (Class) params[0];}public T get(Serializable id){return (T)hibernateTemplate.get(entityClass, id);}public void save(T entity){hibernateTemplate.save(entity);}public void update(T entity){hibernateTemplate.update(entity);}public HibernateTemplate getHibernateTemplate() {return hibernateTemplate;}}
查询接口方法的设计
Dao层除了常见的CRUD,还有根据查询条件执行数据查询。
比较好的查询方法写法有:
分页查询接口:
这篇关于12.3 Dao层的设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!