package com.org.hibernate.dao;
import java.util.Collection;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.SessionFactoryUtils;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.org.exception.DaoException;
public class BaseDao extends HibernateDaoSupport{
private Logger log = Logger.getLogger(this.getClass());
/**
*/
public Session openSession() {
return SessionFactoryUtils.getSession(getSessionFactory(), false);
}
/**
*/
public Query getQuery(String sql) throws Exception{
Session session = this.openSession();
Query query = session.createQuery(sql);
return query;
}
/**
*
*/
public Object loadByKey(Class clazz, String keyName, Object keyValue)
{
List result = getHibernateTemplate().find(
"from " + clazz.getName() + " where " + keyName + " = ?",
keyValue);
if (result != null && result.size() > 0) {
return result.get(0);
} else {
return null;
}
}
/**
*
*/
public int getTotalCount(String hql) throws Exception
{
Integer amount = new Integer(0);
int sql_from = hql.indexOf(" from");
int sql_orderby=hql.indexOf("order by");
String countStr="";
if(sql_orderby>0)
{
countStr="select count(*) "+hql.substring(sql_from,sql_orderby);
}
else
countStr = "select count(*) "+hql.substring(sql_from);
Session session=this.openSession();
Query query = session.createQuery(countStr);
if(!query.list().isEmpty()){
amount = (Integer) query.list().get(0);
}
else
return 0;
return amount.intValue();
}
/**
*
*/
public int getTotalPage(int totalCount,int pageSize){
return (totalCount+pageSize-1)/pageSize;
}
/**
*
*/
public void insert(Object entity) {
try {
getHibernateTemplate().save(entity);
} catch (Exception e) {
log.error("插入 " + entity.getClass().getName() + "实例到数据库失败", e);
}
}
/**
*/
public void update(Object entity) {
try {
getHibernateTemplate().update(entity);
} catch (Exception e) {
log.error("更新 " + entity.getClass().getName() + " 实例到数据库失败", e);
}
}
/**
*
*/
public void delete(Object entity) throws DaoException {
try {
getHibernateTemplate().delete(entity);
} catch (Exception e) {
log.error("从数据库删除" + entity.getClass().getName() + " 实例失败", e);
}
}
/**
*/
public void deleteAll(Class clazz) throws DaoException {
try {
List result = getHibernateTemplate().loadAll(clazz);
getHibernateTemplate().deleteAll(result);
} catch (Exception e) {
log.error("从数据库删除" + clazz.getName() + "的所有记录失败", e);
}
}
public void deleteAll(Collection entities) throws DaoException {
try {
getHibernateTemplate().deleteAll(entities);
} catch(Exception e) {
}
}
/**
*/
public List find(String queryString, Object param) throws DaoException {
List list= null;
try {
list = getHibernateTemplate().find(queryString, param);
} catch (Exception e) {
log.error("执行参数为" + param + "的查询" + queryString + "失败", e);
}
return list;
}
/**
*
*/
public Object getByPk(Class clazz,Integer id){
Object obj = (Object)getHibernateTemplate().get(clazz,id);
return obj;
}
public Object getByPk(Class clazz,Long id){
Object obj = (Object)getHibernateTemplate().get(clazz,id);
return obj;
}
public Object getByPk(Class clazz,String id){
Object obj = (Object)getHibernateTemplate().get(clazz,id);
return obj;
}
/**
*/
public List LoadAll(Class clazz){
List list=null;
try{
list=getHibernateTemplate().loadAll(clazz);
}catch(Exception e){
log.error("从数据库查询"+clazz.getName()+"失败");
}
return list;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
JSP新闻发布&管理系统 (143个子文件)
struts-config.xml.bak 4KB
NewsAction.java.bak 3KB
NewsAction.java.bak 3KB
applications.xml.bak 2KB
applications.xml.bak 2KB
newsMain.jsp.bak 2KB
AdminLoginAction.java.bak 1KB
AdminLoginAction.java.bak 1KB
BaseAction.java.bak 1015B
BaseAction.java.bak 1015B
NewsDao.java.bak 1000B
NewsDao.java.bak 1000B
BaseDao.class 5KB
NewsServiceImpl.class 4KB
NewsAction.class 3KB
PageTag.class 3KB
AdminLoginAction.class 2KB
NewsForm.class 2KB
NewsDao.class 2KB
News.class 2KB
CustomRequestProcessor.class 2KB
BaseAction.class 1KB
PageInfo.class 1KB
SetCharacterEncodingFilter.class 1KB
AdminForm.class 1KB
IBaseDao.class 962B
Admin.class 849B
NewsService.class 649B
DaoException.class 439B
INews.class 197B
.classpath 3KB
news.css 379B
Thumbs.db 16KB
Thumbs.db 15KB
top.gif 117KB
top1.gif 13KB
LOGO.gif 4KB
mid-hyxw2.gif 800B
mid-rdxw2.gif 658B
DOT.GIF 514B
up.gif 302B
7.gif 207B
9.gif 206B
x4.gif 176B
x9.gif 174B
x21.gif 174B
3.gif 165B
bj.gif 132B
x3.gif 121B
x5.gif 119B
x1.gif 117B
x6.gif 107B
delete.gif 95B
bg.gif 45B
top.htm 2KB
foot.htm 566B
hibernate3.jar 2.14MB
spring.jar 1.68MB
hsqldb.jar 561KB
commons-collections.jar 546KB
commons-collections-3.1.jar 546KB
struts.jar 531KB
velocity-1.4.jar 353KB
log4j-1.2.8.jar 344KB
dom4j-1.6.1.jar 307KB
ibatis-sqlmap-2.jar 277KB
commons-httpclient-3.0-rc3.jar 273KB
spring-beans.jar 216KB
jaxen-full.jar 187KB
commons-beanutils.jar 184KB
tomcat-dbcp.jar 169KB
commons-lang.jar 166KB
junit.jar 118KB
spring-core.jar 108KB
commons-digester.jar 107KB
commons-dbcp-1.2.1.jar 105KB
velocity-tools-1.2.jar 86KB
commons-validator.jar 82KB
ibatis-common-2.jar 76KB
jakarta-oro.jar 64KB
ibatis-dao-2.jar 57KB
ehcache-1.1.jar 46KB
commons-codec-1.3.jar 46KB
sqlite.jar 43KB
commons-pool-1.2.jar 41KB
commons-logging.jar 37KB
IrEdesClientLibrary-0.3.jar 32KB
commons-fileupload.jar 22KB
struts-legacy.jar 10KB
BaseDao.java 5KB
NewsAction.java 3KB
PageTag.java 3KB
NewsServiceImpl.java 3KB
AdminLoginAction.java 1KB
NewsForm.java 1KB
News.java 1KB
PageInfo.java 1KB
SetCharacterEncodingFilter.java 1KB
BaseAction.java 1015B
IBaseDao.java 1011B
共 143 条
- 1
- 2
资源评论
- yuxian19882012-01-04后台代码错误好多。运行不了。
- 浮生若梦20122013-12-31结合了struts和hibernate。
- wyzcrr2012-07-19结合了struts和hibernate。
- Fengxingzhe0022012-06-29是呀 为什么运行不了呢
- adiljan20122012-08-29导入后不能运行,出现了很多问题,希望上传运行说明
novely
- 粉丝: 4
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功