/***
* @Program Name : gkjsj
* @Written by : OD_Team
* @version : Copyright (c) 2010 by OD_Team v1.00
***/
package com.gkjsj.dao;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.List;
import javax.annotation.Resource;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.ProjectionList;
import org.hibernate.criterion.Projections;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Component;
/***
* @Program Name : gkjsj.com.gkjsj.dao.CommonDao.java
* @Written by : 陈植专
* @Creation Date : 2010-7-19 下午03:00:41
* @version : v1.00
* @Description : 通用DAO的Hibernate实现
*
*
*
* @ModificationHistory
* Who When What
* -------- ---------- ------------------------------------------------
* 陈植专 2010-7-24 下午10:11:11 改进
***/
@Component("commonDao")
public class CommonDao extends HibernateDaoSupport {
@Resource(name="sessionFactory") //为父类HibernateDaoSupport注入sessionFactory的值
public void setSuperSessionFactory(SessionFactory sessionFactory){
super.setSessionFactory(sessionFactory);
}
/**
* @Enclosing_Method: save
* @Description: 保存(持久化)一个对象
* @param object 要保存的对象
* @return
* @author: 陈植专
* create Date: 2010-7-19 下午03:04:08
*/
public Serializable save(Object object) {
return getHibernateTemplate().save(object);
}
/**
* @Enclosing_Method: update
* @Description: 更新一个对象
* @param object 要修改的对象
* @author: 陈植专
* create Date: 2010-7-19 下午03:04:49
*/
public void update(Object object) {
getHibernateTemplate().update(object);
}
/**
* @Enclosing_Method: updateByQuery
* @Description: 用语句更新记录
* @param queryString 查询语句
* @param objects 参数
* @author: 陈植专
* create Date: 2010-7-19 下午03:05:12
*/
public void updateByQuery(final String queryString, final Object... objects) {
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) {
Query query = session.createQuery(queryString);
if (objects != null) {
for (int i = 0; i < objects.length; i++) {
query.setParameter(i, objects[i]);
}
}
query.executeUpdate();
return null;
}
});
}
/**
* @Enclosing_Method: delete
* @Description: 删除一个对象
* @param object 要删除的对象
* @author: 陈植专
* create Date: 2010-7-19 下午03:05:47
*/
public void delete(Object object) {
getHibernateTemplate().delete(object);
}
/**
* @Enclosing_Method: delete
* @Description: 根据类型和对象id删除一个对象
* @param clazz 类型
* @param id 对象id
* @author: 陈植专
* create Date: 2010-7-19 下午03:06:12
*/
public void delete(Class clazz, Serializable id) {
getHibernateTemplate().delete(load(clazz, id));
}
/**
* @Enclosing_Method: deleteAll
* @Description: 根据类型删除全部对象
* @param clazz 类型
* @return
* @author: 陈植专
* create Date: 2010-7-19 下午03:06:36
*/
public Integer deleteAll(final Class clazz) {
return (Integer) getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session) {
Query query = session.createQuery("delete "
+ clazz.getName());
return new Integer(query.executeUpdate());
}
});
}
/**
* @Enclosing_Method: getFactorySession
* @Description: 获取session
* @return
* @author: 陈植专
* create Date: 2010-7-19 下午03:07:04
*/
public Session getFactorySession(){
return this.getSession();
}
/**
* @Enclosing_Method: load
* @Description: 根据类型和对象id载入一个对象
* @param clazz 类型
* @param id 对象id
* @return 目标对象
* @author: 陈植专
* create Date: 2010-7-19 下午03:07:29
*/
public Object load(Class clazz, Serializable id) {
return getHibernateTemplate().load(clazz, id);
}
/**
* @Enclosing_Method: get
* @Description: 根据类型和对象id从数据库取得一个对象
* @param clazz 类
* @param id 对象id
* @return 目标对象
* @author: 陈植专
* create Date: 2010-7-19 下午03:08:00
*/
public Object get(Class clazz, Serializable id) {
return this.getSession().get(clazz, id);
}
/**
* @Enclosing_Method: findByNamedQuery
* @Description: 命名查询
* @param queryName 命名查询语句
* @return 对象列表
* @author: 陈植专
* create Date: 2010-7-19 下午03:08:24
*/
public List findByNamedQuery(final String queryName) {
return getHibernateTemplate().findByNamedQuery(queryName);
}
/**
* @Enclosing_Method: findByNamedQuery
* @Description: 依据单个参数做命名查询
* @param queryName 命名查询语句
* @param parameter 单个查询参数
* @return 对象列表
* @author: 陈植专
* create Date: 2010-7-19 下午03:08:43
*/
public List findByNamedQuery(final String queryName, final Object parameter) {
return getHibernateTemplate().findByNamedQuery(queryName, parameter);
}
/**
* @Enclosing_Method: findByNamedQuery
* @Description: 依据参数数组做命名查询
* @param queryName 命名查询语句
* @param objects 查询参数数组
* @return 对象列表
* @author: 陈植专
* create Date: 2010-7-19 下午03:09:09
*/
public List findByNamedQuery(final String queryName,
final Object... objects) {
return getHibernateTemplate().findByNamedQuery(queryName, objects);
}
/**
* @Enclosing_Method: find
* @Description: 查询全部
* @param queryString 查询语句
* @return 对象列表
* @author: 陈植专
* create Date: 2010-7-19 下午03:09:31
*/
public List find(final String queryString) {
return getHibernateTemplate().find(queryString);
}
/**
* @Enclosing_Method: find
* @Description: 带参数查询全部
* @param queryString 查询语句
* @param objects 查询参数
* @return 对象列表
* @author: 陈植专
* create Date: 2010-7-19 下午03:09:53
*/
public List find(final String queryString, final Object... objects) {
return getHibernateTemplate().find(queryString, objects);
}
/**
* @Enclosing_Method: deleteByQuery
* @Description: 根据查询和参数删除全部对象
* @param queryString 查询语句
* @param objects 参数
* @return
* @author: 陈植专
* create Date: 2010-7-19 下午03:10:16
*/
public Integer deleteByQuery(final String queryString,
final Object... objects) {
return (Integer) getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session) {
Query query = session.createQuery(queryString);
if (objects != null) {
for (int i = 0; i < objects.length; i++) {
query.setParameter(i, objects[i]);
}
}
return new Integer(query.executeUpdate());
}
});
}
/**
* @Enclosing_Method: get
* @Description: 根据查询语句和查询参数从数据库取得一个对象
* @param queryString 查询语句
* @param objects 参数
* @return 单个对象
* @author: 陈植专
* create Date: 2010-7-19 下午03:10:40
*/
public Object get(final String queryString, final Object... objects) {
List list = getHibernateTemplate().find(queryString, objects);
if (list != null && !list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* @Enclosing_Method: count
* @Description: 获得某个对象的全部总数
* @param clazz 对象Class
* @return
* @author: 陈植专
* create Date: 2010-7-19 下午03:11:12
*/
public int count(Class clazz) {
String queryString = "SELE
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
ssh整合实例--实现简单注册功能(学习历程),利于初学者学习SSH,项目中SSH所用到的 jar 包绝对没有冲突,备注:除了spring是使用spring-2.5.6版本之外,Struts2和hibernate的jar包都是目前最新的组合..都是本人努力的结晶...所以有必要收取你们3资源分!嘻嘻
资源推荐
资源详情
资源评论
收起资源包目录
ssh_demo.rar (84个子文件)
ssh_demo
src
com
gkjsj
entity
vo
UserFormBeans.java 952B
User.java 2KB
dao
CommonDao.java 22KB
action
UserAction.java 2KB
BaseAction.java 3KB
service
impl
UserServiceImpl.java 2KB
IUserService.java 874B
struts
struts-config-user.xml 596B
.classpath 3KB
.mymetadata 297B
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.jsdtscope 500B
org.eclipse.jdt.core.prefs 330B
.myeclipse
.project 1KB
conf
jdbc.properties 134B
struts.xml 404B
beans.xml 4KB
log4j.properties 2KB
struts.properties 434B
WebRoot
META-INF
MANIFEST.MF 36B
index.jsp 901B
success.html 475B
fail.html 472B
register.jsp 1KB
WEB-INF
classes
com
gkjsj
entity
User.class 1KB
vo
UserFormBeans.class 748B
dao
CommonDao$14.class 2KB
CommonDao$8.class 2KB
CommonDao$13.class 2KB
CommonDao$11.class 2KB
CommonDao$10.class 2KB
CommonDao$16.class 2KB
CommonDao$2.class 1KB
CommonDao$4.class 2KB
CommonDao$9.class 1KB
CommonDao$7.class 2KB
CommonDao$6.class 1KB
CommonDao.class 10KB
CommonDao$5.class 1KB
CommonDao$15.class 2KB
CommonDao$1.class 1KB
CommonDao$12.class 2KB
CommonDao$3.class 1KB
action
UserAction.class 2KB
BaseAction.class 2KB
service
impl
UserServiceImpl.class 1KB
IUserService.class 171B
struts
struts-config-user.xml 596B
jdbc.properties 134B
struts.xml 404B
beans.xml 4KB
log4j.properties 2KB
struts.properties 434B
lib
struts2-spring-plugin-2.1.8.1.jar 16KB
freemarker.jar 860KB
slf4j-api-1.6.0.jar 25KB
xwork-core-2.1.6.jar 1.49MB
mysql-connector-java-5.0.4-bin.jar 484KB
commons-fileupload-1.2.1.jar 56KB
dom4j-1.6.1.jar 307KB
common-annotations.jar 6KB
commons-logging.jar 59KB
hibernate3.jar 2.64MB
hibernate-entitymanager.jar 116KB
slf4j-log4j12-1.6.0.jar 10KB
aspectjrt.jar 112KB
antlr-2.7.6.jar 433KB
spring.jar 2.81MB
struts2-core-2.1.8.1.jar 738KB
hibernate-commons-annotations.jar 65KB
javassist-3.9.0.GA.jar 583KB
commons-dbcp.jar 119KB
ognl-2.7.3.jar 234KB
cglib-nodep-2.1_3.jar 317KB
hibernate-annotations.jar 273KB
ejb3-persistence.jar 49KB
commons-io-1.3.2.jar 86KB
commons-collections-3.1.jar 546KB
aspectjweaver.jar 1.47MB
commons-pool.jar 61KB
log4j.jar 350KB
jta-1.1.jar 13KB
web.xml 2KB
共 84 条
- 1
chenzhizhuan
- 粉丝: 2
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页