package com.tj.hibernate;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.ScrollableResults;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.transform.Transformers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Component;
import com.tj.page.Page;
/**
* DAO操作基类 本DAO层实现了通用的数据操作
*
* @param <T> POJO实体对象
* @param <ID> ID
*/
public class BaseHibernateDAOImpl<T> extends HibernateDaoSupport implements BaseHibernateDAO<T> {
private static final Logger logger = Logger.getLogger(BaseHibernateDAOImpl.class);
@Resource(name="sessionFactory")
public void setSessionFactoryOverride(SessionFactory sessionFactory){
super.setSessionFactory(sessionFactory);
}
/**
@SuppressWarnings("unused")
private Class<T> clazz;
@SuppressWarnings("unchecked")
public BaseHibernateDAOImpl() {
//通过反射获取T的类型信息实例
this.clazz = (Class<T>)((ParameterizedType)this.getClass().getGenericSuperclass())
.getActualTypeArguments()[0];
}
**/
/**
* 保存指定实体类
*
* @param entityobj
* 实体类
*/
public void save(T entity) {
try {
getHibernateTemplate().save(entity);
} catch (RuntimeException e) {
logger.error("保存实体异常", e);
throw e;
}
}
/**
* 更新指定实体类
*
* @param entityobj 实体类
*/
public void update(T entity) {
try {
getHibernateTemplate().update(entity);
} catch (RuntimeException e) {
logger.error("更新实体异常", e);
throw e;
}
}
/**
* 根据HQL更新数据
*
* @param hqlUpdate HQL更新语句
* @param values HQL查询值数组
*/
public void update(final String hqlUpdate, final Object[] values) {
try {
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createQuery(hqlUpdate);
if (values != null) {
for (int i = 0; i < values.length; i++) {
query.setParameter(i, values[i]);
}
}
return query.executeUpdate();
}
});
} catch (RuntimeException e) {
logger.error("更新实体异常", e);
throw e;
}
}
/**
* 更新或保存指定实体
*
* @param entity 实体类
*/
public void saveOrUpdate(T entity) {
try {
getHibernateTemplate().saveOrUpdate(entity);
} catch (RuntimeException e) {
logger.error("更新或保存实体异常", e);
throw e;
}
}
/**
* 更新或保存指定实体
*
* @param entity 实体类
*/
public void saveOrUpdate(List<T> list) throws Exception {
if (list == null || list.size() == 0) {
return;
}
Session session = this.getSession();
for (int i = 0; i < list.size(); i++) {
session.saveOrUpdate(list.get(i));
if (i % 20 == 0) {//flush数
session.flush();
session.clear();
}
}
}
/**
* 删除指定实体
*
* @param entityobj 实体类
*/
public void delete(T entity) {
try {
getHibernateTemplate().delete(entity);
} catch (RuntimeException e) {
logger.error("删除实体异常", e);
throw e;
}
}
/**
* 加载指定ID实体类对象
*
* @param entityClass 实体Class
* @param id 实体ID
* @return 实体对象
*/
@SuppressWarnings("unchecked")
public T load(Class<T> entityClass, Long id) {
try {
return (T) getHibernateTemplate().get(entityClass, id);
} catch (RuntimeException e) {
logger.error("加载指定ID实体类异常,ID:" + id, e);
throw e;
}
}
/**
* 根据hsql查找指定条件的List
*
* @param hsql hsql语句
* @param id 实体ID
* @return 实体对象
*/
@SuppressWarnings("unchecked")
public List<T> find(final String hsql, final Object[] parms) {
try {
return getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session s) throws HibernateException, SQLException {
Query query = s.createQuery(hsql);
if (parms != null) {
for (int i = 0; i < parms.length; i++) {
query.setParameter(i, parms[i]);
}
}
return query.list();
}
});
} catch (RuntimeException e) {
logger.error("查找指定条件实体异常:" + hsql, e);
throw e;
}
}
@SuppressWarnings("unchecked")
public List<T> find(final String hsql, final List<Object> parms) {
try {
return getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session s) throws HibernateException, SQLException {
Query query = s.createQuery(hsql);
if (parms != null) {
for (int i = 0; i < parms.size(); i++) {
query.setParameter(i, parms.get(i));
}
}
return query.list();
}
});
} catch (RuntimeException e) {
logger.error("查找指定条件实体异常:" + hsql, e);
throw e;
}
}
/**
* 查找实体所有对象
*
* @param entityClass 实体Class
* @return 实体对象List
*/
@SuppressWarnings("unchecked")
public List<T> findAll(Class<T> entityClass) {
try {
return getHibernateTemplate().loadAll(entityClass);
} catch (RuntimeException e) {
logger.error("查找实体所有对象异常:" + entityClass, e);
throw e;
}
}
/**
* 查找指定ID实体类对象
* @param entityClass 实体Class
* @param id 实体ID
* @return 实体对象
*/
@SuppressWarnings("unchecked")
public T findById(Class<T> entityClass, Long id) {
try {
return (T) getHibernateTemplate().get(entityClass, id);
} catch (RuntimeException e) {
try {
return (T) getHibernateTemplate().get(entityClass, id.toString());
} catch (RuntimeException e1) {
logger.error("查找指定ID实体异常,ID:" + id, e1);
throw e;
}
}
}
@SuppressWarnings("unchecked")
public T findById(Class<T> entityClass, String id) {
try {
return (T) getHibernateTemplate().get(entityClass, id);
} catch (RuntimeException e) {
try {
return (T) getHibernateTemplate().get(entityClass, id.toString());
} catch (RuntimeException e1) {
logger.error("查找指定ID实体异常,ID:" + id, e1);
throw e;
}
}
}
/**
* 查找指定属性的实体集合
* @param entityClass 实体
* @param propertyName 属性名
* @param value 条件
* @return 实体集合
*/
@SuppressWarnings("unchecked")
public List<T> findByProperty(Class<T> entityClass, String propertyName, Object value) {
try {
String queryStr = "from " + entityClass.getName() + " as model where model." + propertyName + "=?";
return getHibernateTemplate().find(queryStr, value);
} catch (RuntimeException e) {
logger.error("查找指定条件实体集合异常,条件:" + propertyName, e);
throw e;
}
}
/**
* 分页查询入口
* @param countSql 总记录sql
* @param listSql 当前页记录sql
* @param Page 分页对象
* @return 返回 当前页需要显示List
*/
@SuppressWarnings("unchecked")
public List<T
没有合适的资源?快使用搜索试试~ 我知道了~
SpringMVC+Hibernate3+CXF整合详细实例
共159个文件
jar:44个
class:32个
svn-base:29个
5星 · 超过95%的资源 需积分: 32 158 下载量 110 浏览量
2016-01-18
12:27:24
上传
评论 8
收藏 20.03MB RAR 举报
温馨提示
上传的文件是springMVC框架整合Hibernate3和CXF的系统,里面有关于springMVC利用cxf发布webservice和调用接口的详细代码,后台用annotation注解关联数据库,dao层完美封装,架构层次分明,用不到cxf的可以到这个链接免费下载springMVC+hibernate3的实例代码(http://download.csdn.net/detail/shzy1988/9393870)
资源推荐
资源详情
资源评论
收起资源包目录
SpringMVC+Hibernate3+CXF整合详细实例 (159个子文件)
all-wcprops 3KB
all-wcprops 920B
all-wcprops 393B
all-wcprops 364B
all-wcprops 350B
all-wcprops 106B
BaseHibernateDAOImpl.class 14KB
WebServiceTest.class 11KB
PageTag.class 8KB
PageDiv.class 7KB
ToolsUtil.class 6KB
Page.class 6KB
TGmZbgg.class 4KB
WebserviceUtil.class 3KB
BaseHibernateDAOImpl$9.class 3KB
PropertiesUtil.class 3KB
DataExchangeWebServiceImp.class 3KB
BaseHibernateDAOImpl$10.class 2KB
BaseDaoImpl.class 2KB
TGmKbrcServiceImpl.class 2KB
MD5Util.class 2KB
BaseHibernateDAOImpl$4.class 2KB
BaseHibernateDAOImpl$12.class 2KB
BaseHibernateDAOImpl$7.class 2KB
TGmZbggController.class 2KB
BaseHibernateDAOImpl$11.class 2KB
BaseHibernateDAOImpl$8.class 2KB
BaseHibernateDAOImpl$3.class 1KB
BaseHibernateDAOImpl$1.class 1KB
BaseHibernateDAOImpl$6.class 1KB
BaseHibernateDAOImpl$5.class 1KB
BaseHibernateDAOImpl$2.class 1KB
ValidateUtil.class 1KB
BaseHibernateDAO.class 1KB
PageScope.class 1KB
BaseDao.class 967B
ObjectService.class 924B
IDataExchangeWebService.class 530B
.classpath 4KB
org.eclipse.wst.jsdt.ui.superType.container 49B
entries 3KB
entries 1KB
entries 547B
entries 538B
entries 532B
entries 264B
cxf-2.7.17.jar 6.96MB
hibernate3.6.10.jar 3.97MB
spring-core-3.2.0.RELEASE.jar 843KB
spring-context-3.2.0.RELEASE.jar 834KB
mysql-connector-5.1.8.jar 707KB
spring-webmvc-3.2.0.RELEASE.jar 621KB
spring-web-3.2.0.RELEASE.jar 610KB
spring-beans-3.2.0.RELEASE.jar 591KB
javassist-3.9.0.GA.jar 583KB
commons-collections-3.1.jar 546KB
woodstox-core-asl-4.4.1.jar 475KB
spring-test-3.2.0.RELEASE.jar 441KB
jstl-1.2.jar 405KB
spring-jdbc-3.2.0.RELEASE.jar 392KB
standard-1.1.2.jar 384KB
spring-orm-3.2.0.RELEASE.jar 383KB
log4j.jar 349KB
spring-aop-3.2.0.RELEASE.jar 327KB
dom4j-1.6.1.jar 307KB
httpclient-4.0.3.jar 286KB
commons-lang-2.4.jar 256KB
spring-tx-3.2.0.RELEASE.jar 235KB
spring-jms-3.2.0.RELEASE.jar 196KB
spring-expression-3.2.0.RELEASE.jar 189KB
spring-webmvc-portlet-3.2.0.RELEASE.jar 184KB
wsdl4j-1.6.3.jar 182KB
httpcore-4.1.jar 177KB
xmlschema-core-2.1.0.jar 162KB
stax2-api-3.1.4.jar 158KB
spring-context-support-3.2.0.RELEASE.jar 124KB
commons-dbcp-1.2.jar 105KB
hibernate-jpa-2.0-api-1.0.0.Final.jar 99KB
commons-pool-1.5.4.jar 94KB
json.jar 92KB
spring-oxm-3.2.0.RELEASE.jar 71KB
neethi-3.0.3.jar 70KB
spring-aspects-3.2.0.RELEASE.jar 68KB
commons-logging-1.1.3.jar 61KB
spring-struts-3.2.0.RELEASE.jar 35KB
slf4j-api-1.5.11.jar 23KB
jta-1.1.jar 11KB
spring-instrument-tomcat-3.2.0.RELEASE.jar 10KB
spring-instrument-3.2.0.RELEASE.jar 7KB
slf4j-nop-1.5.11.jar 5KB
BaseHibernateDAOImpl.java 20KB
PageDiv.java 14KB
PageTag.java 14KB
Page.java 10KB
WebServiceTest.java 9KB
ToolsUtil.java 6KB
TGmZbgg.java 3KB
PageScope.java 2KB
DataExchangeWebServiceImp.java 2KB
PropertiesUtil.java 2KB
共 159 条
- 1
- 2
资源评论
- zengchao92018-03-28非常实用的东西,五星好评。。。
双子叶
- 粉丝: 25
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功