/**
* $Revision 1.1 $
* $Date 2009-07-25$
*
* Copyright(C) 2009 Umessage Co.,Ltd. All rights reserved.
*/
package framework.dao.impl;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import framework.dao.IBaseDAO;
import framework.model.PageBean;
/**
* @Descriptor : base dao for getPageBean
* @author : umessage software
*/
public class BaseDAO extends HibernateDaoSupport implements IBaseDAO {
/**
* Description : 根据实体类名及ID取出实体对象
*
* @param 类名
* @param ID
* @return Object
*/
@SuppressWarnings("rawtypes")
public Object load(Class entityClass, Serializable id) {
Object entity = getHibernateTemplate().get(entityClass, id);
return entity;
}
/**
* Description : 根据实体类名取出所有的实体对象
*
* @param 类名
* @return List
*/
@SuppressWarnings("rawtypes")
public List<?> loadAll(Class entityClass) {
return getHibernateTemplate().loadAll(entityClass);
}
/**
* Description : 保存或更新单个实体对象
*
* @param Object
* @return void
*/
public void saveOrUpdate(Object entity) {
getHibernateTemplate().saveOrUpdate(entity);
// getHibernateTemplate().saveOrUpdateObj(entity);
getHibernateTemplate().flush();
}
/**
* Description : 保存或更新多个实体对象
*
* @param objs
* @return void
*/
@SuppressWarnings("rawtypes")
public void saveOrUpdate(Collection objs) {
getHibernateTemplate().saveOrUpdateAll(objs);
// getHibernateTemplate().saveOrUpdateAllObj(objs);
getHibernateTemplate().flush();
}
/**
* Description : 根据实体类名及ID删除实体对象
*
* @param 类名
* @param ID
* @return void
*/
@SuppressWarnings("rawtypes")
public void delete(Class entityClass, Serializable id) {
getHibernateTemplate().delete(load(entityClass, id));
}
/**
* Description : 删除实体对象集合
*
* @param 对象集合
* @return void
*/
@SuppressWarnings("rawtypes")
public void deleteAll(Collection objs) {
getHibernateTemplate().deleteAll(objs);
}
/**
* Description : 查询数据
*
* @param sql语句
* @param 参数
* @return void
*/
public List<?> qryList(String queryString, Object[] params) {
return getHibernateTemplate().find(queryString, params);
}
/**
* Description : 查询数据
*
* @param sql语句
* @return List
*/
public List<?> qryList(String queryString) {
return qryList(queryString, null);
}
/**
* Description : 查询
*
* @param queryString
* @param value
* @return List
*/
public List<?> qryList(String queryString, Object value) {
return qryList(queryString, new Object[] { value });
}
/**
* Description : 添加
*
* @param entity
* @return void
*/
public void save(Object entity) {
// getHibernateTemplate().saveObj(entity);
getHibernateTemplate().save(entity);
// getHibernateTemplate().flush();
}
/**
* Description : 更新
*
* @param entity
* @return void
*/
public void update(Object entity) {
// getHibernateTemplate().updateObj(entity);
getHibernateTemplate().update(entity);
getHibernateTemplate().flush();
}
/**
* Description : 更新
*
* @param entity
* @return void
*/
public void merge(Object entity) {
// getHibernateTemplate().updateObj(entity);
getHibernateTemplate().merge(entity);
getHibernateTemplate().flush();
}
/**
* Description : 删除
*
* @param hql
* @return void
*/
public void delete(final String hql, final Object[] values) {
// getHibernateTemplate().deleteBatch(hql,values);
Session session = this.getSession();
try {
Query query = session.createQuery(hql);
if (values != null) {
for (int i = 0; i < values.length; i++) {
query.setParameter(i, values[i]);
}
}
query.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
releaseSession(session);
}
}
/**
* Description : 更新
*
* @param hql
* @return void
*/
public void update(final String hql, final Object[] values) {
// getHibernateTemplate().updateBatch(hql,values);
Session session = this.getSession();
try {
Query query = session.createQuery(hql);
if (values != null) {
for (int i = 0; i < values.length; i++) {
query.setParameter(i, values[i]);
}
}
query.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
releaseSession(session);
}
}
/**
* Description : 删除
*
* @param hql
* @param void
*/
public void delete(String hql, Object value) {
delete(hql, new Object[] { value });
}
/**
* Description : 删除
*
* @param hql
* @param void
*/
public void delete(String hql) {
delete(hql, null);
}
/**
* Description : 删除
*
* @param obj
* @param void
*/
public void delete(Object obj) {
try {
getHibernateTemplate().delete(obj);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Description : 更新
*
* @param hql
* @param void
*/
public void update(String hql, Object value) {
update(hql, new Object[] { value });
}
/**
* Description : 占位符传参方式的分页查询(通过传入参数确定是否启用缓存)
*
* @param hql
* @param countHql
* @param params
* @param pageBean
* @param flg
* @return
*/
public boolean getQueryPageBean(String hql, String countHql,
Object[] params, PageBean pageBean, boolean flg) {
Session session = getSession();
try {
Query query = session.createQuery(hql.toString());
if (params != null) {
for (int i = 0; i < params.length; i++) {
if (params[i] != null) {
query.setParameter(i, params[i]);
}
}
}
query.setCacheable(flg);//是否开启查询缓存
query.setFirstResult((pageBean.getPage() - 1)
* pageBean.getPageSize());
query.setMaxResults(pageBean.getPageSize());
// 获取需要显示的结果和符合条件的总数
pageBean.setResultList(query.list());
// getHibernateTemplate().setCacheQueries(true);
if (params != null) {
pageBean.setTotal((Long) getHibernateTemplate()
.find(countHql.toString(), params).listIterator()
.next());
} else {
pageBean.setTotal((Long) getHibernateTemplate()
.find(countHql.toString()).listIterator().next());
}
// 计算pageBean的其他信息
pageBean.compute();
} catch (Exception e) {
logger.error(e, e);
} finally {
releaseSession(session);
}
return true;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
extjs+struts2+spring+hibernate (2245个子文件)
BaseDAO.class 6KB
BaseDAO.class 6KB
GoodsAction.class 4KB
GoodsAction.class 4KB
GoodsDAOImpl.class 4KB
GoodsDAOImpl.class 4KB
UserAction.class 4KB
UserAction.class 4KB
PersonDAOImpl.class 4KB
PersonDAOImpl.class 4KB
PersonAction.class 3KB
PersonAction.class 3KB
PageBean.class 3KB
PageBean.class 3KB
GoodsServiceImpl.class 3KB
GoodsServiceImpl.class 3KB
TreeModel.class 2KB
TreeModel.class 2KB
TreeModelAction.class 2KB
TreeModelAction.class 2KB
PersonServiceImpl.class 2KB
PersonServiceImpl.class 2KB
UploadsAction.class 2KB
UploadsAction.class 2KB
BaseService.class 2KB
BaseService.class 2KB
Model.class 2KB
Model.class 2KB
Goods.class 2KB
Goods.class 2KB
UploadAction.class 2KB
UploadAction.class 2KB
BaseAction.class 2KB
BaseAction.class 2KB
Person.class 2KB
Person.class 2KB
NewsValidateAction.class 2KB
NewsValidateAction.class 2KB
NodeTree.class 2KB
NodeTree.class 2KB
TreeAction.class 2KB
TreeAction.class 2KB
UserLoginInterceptor.class 2KB
UserLoginInterceptor.class 2KB
ValidateAction.class 1KB
ValidateAction.class 1KB
EXTJSONActionSupport.class 1KB
EXTJSONActionSupport.class 1KB
CharterEncodFilter.class 1KB
CharterEncodFilter.class 1KB
User.class 1KB
User.class 1KB
IBaseDAO.class 1008B
IBaseDAO.class 1008B
UserServiceImpl.class 933B
UserServiceImpl.class 933B
StringUtil.class 839B
StringUtil.class 839B
GoodsService.class 835B
GoodsService.class 835B
UserDaoImpl.class 789B
UserDaoImpl.class 789B
GoodsDAO.class 539B
GoodsDAO.class 539B
IBaseService.class 535B
IBaseService.class 535B
PersonService.class 496B
PersonService.class 496B
PersonDAO.class 448B
PersonDAO.class 448B
ClassesDAOImpl.class 412B
ClassesDAOImpl.class 412B
UserService.class 213B
UserService.class 213B
UserDao.class 163B
UserDao.class 163B
ClassesDAO.class 139B
ClassesDAO.class 139B
.classpath 529B
.classpath 529B
org.eclipse.wst.common.component 462B
org.eclipse.wst.common.component 462B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.container 49B
ext-all.css 136KB
ext-all.css 136KB
ext-all-notheme.css 98KB
ext-all-notheme.css 98KB
xtheme-access.css 40KB
xtheme-access.css 40KB
xtheme-blue.css 38KB
xtheme-blue.css 38KB
xtheme-gray.css 38KB
xtheme-gray.css 38KB
yourtheme.css 37KB
yourtheme.css 37KB
form.css 11KB
form.css 11KB
grid.css 11KB
grid.css 11KB
共 2245 条
- 1
- 2
- 3
- 4
- 5
- 6
- 23
资源评论
- zhengsy0522013-08-15数据库没有啊,再传个完整的吧
- 急速行驶2013-07-19数据库没有啊,再传个完整的吧
- tenwx2013-04-11大哥,没数据库啊
- scbaoma20082013-05-18我需要 數據庫建表語句 能不能再傳一個完整的
流浪青年
- 粉丝: 5
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功