package com.age.dao.impl;
import java.io.Serializable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import com.age.dao.BaseDaoI;
public class BaseDaoImpl<T> implements BaseDaoI<T>{
private SessionFactory sFactory;
public SessionFactory getsFactory() {
return sFactory;
}
public void setsFactory(SessionFactory sFactory) {
this.sFactory = sFactory;
}
public Serializable save(T o) {
System.out.println(sFactory);
return sFactory.getCurrentSession().save(o);
}
public void delete(T o) {
sFactory.getCurrentSession().delete(o);
}
public void update(T o) {
sFactory.getCurrentSession().update(o);
}
public void saveOrUpdate(T o) {
sFactory.getCurrentSession().update(o);
}
@SuppressWarnings("unchecked")
public T get(Class<T> c, Serializable id) {
return (T)sFactory.getCurrentSession().get(c, id);
}
public T get(String hql) {
Query query = sFactory.getCurrentSession().createQuery(hql);
T t= (T)query.setMaxResults(1).uniqueResult();
return t;
}
public T get(String hql, Map<String, Object> params) {
Query query = sFactory.getCurrentSession().createQuery(hql);
Set<String> keySet = params.keySet();
Iterator<String> it = keySet.iterator();
String key = "";
while(it.hasNext()){
key=it.next();
}
T t = (T)query.setParameter(key, params.get(key)).setMaxResults(1).uniqueResult();
return t;
}
public List<T> find(String hql) {
Query query = sFactory.getCurrentSession().createQuery(hql);
return query.list();
}
public List<T> find(String hql, Map<String, Object> params) {
Query query = sFactory.getCurrentSession().createQuery(hql);
for(String key:params.keySet()){
query.setParameter(key, params.get(key));
}
return query.list();
}
public List<T> find(String hql, int page, int rows) {
Query query = sFactory.getCurrentSession().createQuery(hql);
query.setFirstResult((page-1)*rows);
query.setMaxResults(rows);
return query.list();
}
public List<T> find(String hql, Map<String, Object> params, int page,
int rows) {
Query query = sFactory.getCurrentSession().createQuery(hql);
for(String key:params.keySet()){
query.setParameter(key, params.get(key));
}
query.setFirstResult((page-1)*rows);
query.setMaxResults(rows);
return null;
}
public Long count(String hql) {
Query query = sFactory.getCurrentSession().createQuery(hql);
return (Long)query.uniqueResult();
}
public Long count(String hql, Map<String, Object> params) {
Query query = sFactory.getCurrentSession().createQuery(hql);
for(String key:params.keySet()){
query.setParameter(key, params.get(key));
}
return (Long)query.uniqueResult();
}
public int executeHql(String hql) {
return 0;
}
public int executeHql(String hql, Map<String, Object> params) {
return 0;
}
}
三大框架整合包(含jar包,简单实例)
2星 需积分: 9 118 浏览量
2014-02-19
11:36:37
上传
评论
收藏 12.63MB ZIP 举报
阿阁vl
- 粉丝: 2
- 资源: 7
最新资源
- 《CKA/CKAD应试指南/从docker到kubernetes 完全攻略》学习笔记 第1章docker基础(1.1-1.4)
- 基于python实现的水下压缩空气储能互补系统建模仿真与经济效益分析+源代码+论文
- 华中科技大学-自然语言处理实验,Bi-LSTM+CRF的中文分词框架,并且利用基于深度学习的方法进行中文命名实体识别++源码报告
- 基于动态罚函数的铁路车流分配与径路优化模型python源码
- 鱼群算法求解组环问题python源码+文档说明
- 基于决策优化的多波束测深测线规划模型MATLAB代码
- 课程设计-基于python实现的多目标优化算法求解带时间窗的车辆路径规划问题+源代码+文档说明+界面截图+pptx
- 基于通信信号与通信系统的MATLAB仿真源码-课程设计
- 嵌入式-信号机制(概念,发送,定时,捕捉,SIGCHLD 信号实现回收子进程)
- c语言管理系统大一大二笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈