反射(DAO层的设计)<学习随笔>
来源:互联网 发布:galgame软件手机 编辑:程序博客网 时间:2024/06/06 14:10
DAO
public interface BaseDao<T> {
void save(T entity);
void delete(Integer id);
void update(T entity);
T getById(Integer id);
List<T> getByIds(Integer[] ids);
List<T> findAll();
PageBean getPageBean(int pageNum,HqlHelper hqlHelper);//分页
}
DAOIMPL
public abstract class BaseDaoImpl<T> implements BaseDao<T> {
@Resource
private SessionFactory sessionFactory;//session工厂
private Class<T> clazz;
public BaseDaoImpl(){
ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass(); // 获取父类类名
this.clazz =(Class<T>) pt.getActualTypeArguments()[0]; //取出类
}
/*获取当前可用session*/
protected Session getSession() {
return sessionFactory.getCurrentSession();
}
@Override
public void save(T entity) {
getSession().save(entity);
}
@Override
public void delete(Integer id) {
Object obj = getById(id);
if(obj!=null){
getSession().delete(obj);
}
}
@Override
public void update(T entity) {
getSession().update(entity);
}
@Override
public T getById(Integer id) {
if(id==null){
return null;
}else{
return (T) getSession().get(clazz, id);
}
}
@Override
public List<T> getByIds(Integer[] ids) {
if(ids==null||ids.length==0){
return Collections.EMPTY_LIST;
}else{
return getSession().createQuery(//
"FROM"+clazz.getSimpleName()+"WHERE id IN (:ids)")//
.setParameterList("ids", ids)//
.list();
}
}
@Override
public List<T> findAll() {
return getSession().createQuery(//
"FROM " + clazz.getSimpleName())//
.list();
}
0 0
- 反射(DAO层的设计)<学习随笔>
- 关于service层和dao层的设计。(转载)
- 12.3 Dao层的设计
- 泛型,反射,公共dao层的使用
- MVC对Dao层的解决方法(MVC的设计)
- .Net DAO 层设计遇到的问题
- 基于Spring的DAO层设计
- 基于Spring的DAO层设计
- 基于Spring的DAO层设计
- 基于Spring的DAO层设计
- DAO层的一点儿设计细节
- Spring DAO层的设计思想
- Dao与Service层的设计
- hibernate的dao层通用设计
- Spring Dao层设计
- Dao层设计
- 基于Spring4+Hibernate4的通用数据访问层+业务逻辑层(Dao层+Service层)设计与实现!
- Java反射机制在DAO层的应用实例
- 生活中的观察者模式
- 【算法入门】广度/宽度优先搜索(BFS)
- Python装饰器与面向切面编程
- LeetCode题解:Integer to Roman
- Xcode 实用插件
- 反射(DAO层的设计)<学习随笔>
- MySQL启用SSD存储
- 协议(protocol)委托代理
- 弹出层遮罩
- WPF调用Matlab函数方法
- 二进制文件与文本文件
- android AsyncTask和Handler对比
- XYZZY
- 西电人总结各it公司待遇