CRM-BaseDao的抽取
来源:互联网 发布:阿里云服务器学生认证 编辑:程序博客网 时间:2024/05/26 12:55
CRM-BaseDao的抽取
本次开发中,为了避免每次都编写重复的Dao代码,对每种Dao相似的代码进行了抽取,形成BaseDao。
其他Dao只需要继承BaseDao即可,这样我们可以对其他的Dao只需要编写特定Dao操作即可(根据业务层的需求)。
具体代码实现如下:
//BaseDao的实现 public abstract class BaseDaoImpl<T> extends HibernateDaoSupport implements BaseDao<T> { Class<T> clazz; public BaseDaoImpl(){ ParameterizedType pt = (ParameterizedType)this.getClass().getGenericSuperclass();//BaseDaoImpl<User> clazz = (Class<T>)pt.getActualTypeArguments()[0]; } @Override public void save(T entity) { getHibernateTemplate().save(entity); } @Override public void update(T entity) { getHibernateTemplate().update(entity); } @Override public void delete(Serializable id) { getHibernateTemplate().delete(findObjectById(id)); } @Override public T findObjectById(Serializable id) { return getHibernateTemplate().get(clazz, id); } @Override public List<T> findObjects() { Query query = getSession().createQuery("FROM " + clazz.getSimpleName()); return query.list(); } } //UserDao接口 public interface IUserDao extends BaseDao<User> { } //UserDao的实现, 继承BaseDao实现, 实现UserDao接口 public class UserDaoImpl extends BaseDaoImpl<User> implements IUserDao { }
0 0
- CRM-BaseDao的抽取
- BaseDao的抽取
- Dao操作的抽取, BaseDao
- BaseDao --- dao层的抽取
- baseDao抽取
- CRM-BaseService的抽取
- 三层框架下的BaseDao的抽取
- SSH抽取BaseDao
- web项目抽取BaseDao
- 人事管理系统之基本增删改查的实现以及BaseDao的抽取和封装
- Hibernate常用的BaseDao
- BaseDao 的设置
- BaseDao的方法不起作用
- mybatis-basedao的实现
- SH整合的BaseDao
- baseDao的用法
- 一种BaseDAO的写法
- BaseDao的设计思路
- maven 学习总结(三)——使用Maven构建项目
- OpenGL投影矩阵与相机模型(Set Projection Matrix for Pinhole Camera Model)
- Pascal's Triangle II
- 第四十四天 指南针、百度地图
- 20150922——第一个项目总结
- CRM-BaseDao的抽取
- 广联达2016西安研发笔试题
- ViewPagerIndicator-master源码分析 3
- BestCoder#56 Clarke and puzzle
- hdu acm 2569
- react的入门讲解
- listview加载更多
- LeetCode(40) Median of Two Sorted Arrays (两排序数组中位数)
- HDOJ 题目1158Employment Planning(DP)