day02-持久层代码抽取
来源:互联网 发布:spark sql 官网 编辑:程序博客网 时间:2024/05/18 01:48
代码:
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;
import javax.annotation.Resource;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
import com.itheima.bos.dao.base.IBaseDao;
/**
* 持久层通用实现
* @author Administrator
*
* @param <T>
*/
public class BaseDaoImpl<T> extends HibernateDaoSupport implements IBaseDao<T> {
//代表的是某个实体的类型
private Class<T> entityClass;
@Resource
public void setMySessionFactory(SessionFactory sessionFactory){
super.setSessionFactory(sessionFactory);
}
//在父类(BaseDaoImpl)的构造方法中动态获得entityClass
public BaseDaoImpl(){
ParameterizedType superclass = (ParameterizedType) this.getClass().getGenericSuperclass();
//获得父类上声明的泛型数组
Type[] actualTypeArguments = superclass.getActualTypeArguments();
entityClass = (Class<T>) actualTypeArguments[0];
}
public void save(T entity) {
this.getHibernateTemplate().save(entity);
}
public void delet(T entity) {
this.getHibernateTemplate().delete(entity);
}
public void update(T entity) {
this.getHibernateTemplate().update(entity);
}
public T findById(Serializable id) {
return this.getHibernateTemplate().get(entityClass, id);
}
public List<T> findAll() {
String sql = "FROM "+ entityClass.getSimpleName();
return (List<T>) this.getHibernateTemplate().find(sql);
}
}
- day02-持久层代码抽取
- day02表现层代码抽取
- hibernate持久层,java代码创建表
- 代码抽取
- 持久层
- 持久层
- 持久层
- 持久层
- SSH项目搭建-03-DAO层,Controller层创建及代码抽取
- 泛型持久层实现(深度减轻代码量)
- MyBatis Generator可逆向生成持久层的代码
- 持久化与持久层
- 持久层、持久化、ORM
- Struts1.3业务层的抽取实现DWR和Strtus业务代码共享
- 关于持久层和业务层代码封装的一点点设计
- BaseDao --- dao层的抽取
- BaseService --- service层的抽取
- 表现层BaseAction的抽取
- 手机移动网站自适应高度,手机网页图片自适应大小
- Java:求实数的绝对值
- [BZOJ3932][CQOI2015]任务查询系统 主席树
- Sophus 李群 --[SO3]
- 数据结构|链栈的实现(实验3.2)
- day02-持久层代码抽取
- 爬虫的综合案例
- 日记(周中)
- Android Study Material Design 二 之:这可能是RecyclerView最全解析 高级拓展 实现复杂布局(三)
- Linux上安装JDK+Mysql+Tomcat环境
- 配置vim
- Java基础面试——String“==”问题
- EL表达式使用fmt:formatNumber标签保留两位小数
- Codeforces 873 D Merge Sort(归并排序性质)