package com.jjee.dao;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Example;
import org.hibernate.transform.Transformers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
/**
*
* @ClassName:BaseDao
* @Description:dao 基类,包括增删改查
* @author:gaoFeng
* @date:2013-2-27 下午2:31:42
*/
@Repository
public class ReadDao implements Serializable {
@Autowired
private SessionFactory sessionFactory;
public Session getSession() {
return sessionFactory.getCurrentSession();
}
public List findBySql(String sql) {
return getSession().createSQLQuery(sql).list();
}
public <T> List<T> findByExceple(T t) {
return getSession().createCriteria(t.getClass()).add(Example.create(t))
.list();
}
/**
*
* @Description:直接就根据hql查询,这里的hql是调用者直接适配好的,方法内不做参数绑定
* @author:gaoFeng
* @param:@param hql
* @param:@return
* @return: List
* @date:2013-3-16 上午10:41:03
*/
public List findByHql(String hql) {
return getSession().createQuery(hql).list();
}
/**
*
* @Description:直接就根据hql查询,这里的hql是调用者直接适配好的,方法内不做参数绑定,并分页
* @author:gaoFeng
* @param:@param hql
* @param:@param firstResult
* @param:@param maxResult
* @param:@return
* @return: List
* @date:2013-3-16 上午10:41:44
*/
public List findByHqlLimit(String hql, final int firstResult,
final int maxResult) {
Query query = getSession().createQuery(hql);
query.setFirstResult(firstResult);
query.setMaxResults(maxResult);
return query.list();
}
/**
*
* @Description:根据hql和参数查询数据
* @author:gaoFeng
* @param:@param hql
* @param:@param params
* @param:@return
* @return: List
* @date:2013-3-16 上午10:42:12
*/
public List findByHql(String hql, Object[] params) {
Query query = getSession().createQuery(hql);
for (int i = 0; i < params.length; i++) {
query.setParameter(i, params[i]);
}
return query.list();
}
/**
*
* @Description:根据hql和参数查询数据并分页
* @author:gaoFeng
* @param:@param hql
* @param:@param params
* @param:@param firstResult
* @param:@param maxResult
* @param:@return
* @return: List
* @date:2013-3-16 上午10:42:35
*/
public List findByHqlLimit(String hql, Object[] params,
final int firstResult, final int maxResult) {
Query query = getSession().createQuery(hql);
for (int i = 0; i < params.length; i++) {
query.setParameter(i, params[i]);
}
query.setFirstResult(firstResult);
query.setMaxResults(maxResult);
return query.list();
}
public Object findByHqlUniqueResult(String hql) {
return getSession().createQuery(hql).uniqueResult();
}
public <T> T get(Class<T> entityClass, Integer id) {
return (T) getSession().get(entityClass, id);
}
public <T> List<T> findAll(String hql, Class<T> entityClass) {
return findAll(hql, entityClass, new Object[] {});
}
public <T> List<T> findAll(String hql, Class<T> entityClass, Object param) {
return findAll(hql, entityClass, new Object[] { param });
}
public <T> List<T> findAll(String hql, Class<T> entityClass, Object[] params) {
Query query = getSession().createQuery(hql);
for (int i = 0; i < params.length; i++) {
query.setParameter(i, params[i]);
}
return (List<T>) query.list();
}
public <T> List<T> findByPage(final String hql, Class<T> entityClass,
final int firstResult, final int maxResult) {
return findByPage(hql, entityClass, new Object[] {}, firstResult,
maxResult);
}
public <T> List<T> findByPage(final String hql, Class<T> entityClass,
final Object param, final int firstResult, final int maxResult) {
return findByPage(hql, entityClass, new Object[] { param },
firstResult, maxResult);
}
public <T> List<T> findByPage(final String hql, Class<T> entityClass,
final Object[] params, final int firstResult, final int maxResult) {
Query query = getSession().createQuery(hql);
for (int i = 0; i < params.length; i++) {
query.setParameter(i, params[i]);
}
query.setFirstResult(firstResult);
query.setMaxResults(maxResult);
return (List<T>) query.list();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
jjee.rar (32个子文件)
jjee
.project 2KB
.mystrutsdata 240B
.springBeans 472B
.mymetadata 293B
src
main
webapp
WEB-INF
classes
lib
web.xml 2KB
error.jsp 823B
index.jsp 831B
success.jsp 829B
META-INF
MANIFEST.MF 36B
java
log4j.xml 1KB
struts.xml 484B
applicationContext.xml 4KB
com
jjee
service
UserService.java 673B
dao
ReadDao.java 4KB
BaseDao.java 3KB
web
Action_.java 721B
entity
User.java 984B
test
target
m2e-jee
web-resources
META-INF
MANIFEST.MF 111B
maven
jjee
jjee
pom.properties 199B
pom.xml 4KB
classes
.myeclipse
document
.myhibernatedata 564B
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.m2e.core.prefs 90B
org.eclipse.jdt.core.prefs 430B
org.eclipse.wst.jsdt.ui.superType.name 6B
com.genuitec.eclipse.j2eedt.core.prefs 56B
org.eclipse.core.resources.prefs 193B
org.eclipse.wst.common.component 476B
.jsdtscope 508B
pom.xml 4KB
.classpath 561B
共 32 条
- 1
eaglefeng
- 粉丝: 28
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 校园帮项目,毕业设计/课程设计/javaWeb/SSM
- C++ plotting library,matplotlib-cpp-master.zip
- 案例源码matplotlib-examples-master.zip
- 基于JavaScript 实现的KMP 算法
- 基于C++实现二叉树的创建,遍历,添加,查找与删除
- 基于C语言实现二叉树的基本操作
- 毕业设计基于STM32的测量温度与压力的数据处理设计C语言完整源码+论文.zip
- 基于MATLAB的PCA算法人脸识别项目源码+GUI界面+说明文档.zip
- 基于STM32的测量温度与压力的数据处理设计源码+论文(毕业设计).zip
- Vision Transformer 网络对不同氨气氧气浓度轨迹RAS 图像数据集的分类,包含训练权重和数据集、迁移学习
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页