package com.lzw.dao.Impl;
import java.io.Serializable;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.jdbc.Work;
import org.hibernate.transform.Transformers;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
import com.lzw.dao.IBaseDao;
@Repository("baseDao")
public class BaseDaoImpl extends HibernateDaoSupport implements IBaseDao {
@Resource
public void setSessionFacotry(SessionFactory sessionFacotry) {
super.setSessionFactory(sessionFacotry);
}
// 保存
public boolean save(Object object) {
boolean result = true;
try {
this.getHibernateTemplate().save(object);
} catch (Exception e) {
result = false;
e.printStackTrace();
}
return result;
}
// findById
@SuppressWarnings({ "unchecked", "rawtypes" })
public Object findById(Class entityName, Serializable id) {
return this.getHibernateTemplate().get(entityName, id);
}
// 获取分页数据
@SuppressWarnings({ "rawtypes", "unchecked" })
public List<Object> queryForPage(final String hql, final int offset,
final int length, final Object[] paramValue) {
this.getHibernateTemplate().setCacheQueries(true);
List<Object> list = (List<Object>) this.getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
Query query = session.createQuery(hql);
for (int i = 0; i < paramValue.length; i++) {
query.setParameter(i, paramValue[i]);
}
query.setFirstResult(offset);
query.setMaxResults(length);
List<Object> list = query.list();
return list;
}
});
return list;
}
// 统计查询的分页数据
@SuppressWarnings({ "unchecked", "rawtypes" })
public int getAllRowCount(final String hql, final Object[] paramValue) {
this.getHibernateTemplate().setCacheQueries(true);
List<Object> list = (List<Object>) this.getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
Query query = session.createQuery(hql);
for (int i = 0; i < paramValue.length; i++) {
query.setParameter(i, paramValue[i]);
}
List<Object> list = query.list();
return list;
}
});
return list.size();
}
// 执行hql查询方法
@SuppressWarnings({ "unchecked", "rawtypes" })
public List<Object[]> executeHqlQuery(final String hql) {
this.getHibernateTemplate().setCacheQueries(true);
List<Object[]> list = (List<Object[]>) this.getHibernateTemplate()
.execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
Query query = session.createQuery(hql);
List<Object[]> list = query.list();
return list;
}
});
return list;
}
// 执行sql查询方法
@SuppressWarnings({ "unchecked" })
public List<Object[]> executeSqlQuery(final String sql) {
Session session = this.getHibernateTemplate().getSessionFactory()
.openSession();
Transaction tx = session.beginTransaction();
Query query = session.createSQLQuery(sql);
tx.commit();
List<Object[]> list = query.list();
session.close();
return list;
}
// 执行hql查询方法
@SuppressWarnings({ "unchecked", "rawtypes" })
public List<Object[]> executeHqlQuery(final String hql,
final int maxResult, final int firstResult) {
this.getHibernateTemplate().setCacheQueries(true);
List<Object[]> list = (List<Object[]>) this.getHibernateTemplate()
.execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
Query query = session.createQuery(hql);
query.setMaxResults(maxResult);
query.setFirstResult(firstResult);
List<Object[]> list = query.list();
return list;
}
});
return list;
}
// 查询所有信息
@SuppressWarnings("rawtypes")
public List findAll(String queryString) {
this.getHibernateTemplate().setCacheQueries(true);
return this.getHibernateTemplate().find(queryString);
}
// 更新信息
public boolean update(String queryString, Object[] values) {
boolean flag = true;
try {
this.getHibernateTemplate().bulkUpdate(queryString, values);
} catch (Exception e) {
flag = false;
e.printStackTrace();
}
return flag;
}
@SuppressWarnings("rawtypes")
public List find(String hql, Object[] values) {
this.getHibernateTemplate().setCacheQueries(true);
return this.getHibernateTemplate().find(hql, values);
}
// 删除
@SuppressWarnings({ "rawtypes", "unchecked" })
public boolean delete(Class clazz, Serializable id) {
boolean result = true;
try {
this.getHibernateTemplate().delete(
getHibernateTemplate().load(clazz, id));
} catch (Exception e) {
result = false;
e.printStackTrace();
}
return result;
}
// 通过SQL执行无返回结果
public boolean executeVoidProcedureSql(final String queryString,
final Object[] params) throws Exception {
boolean result = true;
try {
Session session = this.getHibernateTemplate().getSessionFactory()
.openSession();
session.doWork(new Work() {
@Override
public void execute(Connection conn) throws SQLException {
ResultSet rs = null;
CallableStatement call = conn.prepareCall("{" + queryString
+ "}");
if (null != params) {
for (int i = 0; i < params.length; i++) {
call.setObject(i + 1, params[i]);
}
}
rs = call.executeQuery();
call.close();
rs.close();
}
});
} catch (Exception e) {
result = false;
e.printStackTrace();
}
return result;
}
// 通过SQL查询,将结果集转换成Map对象,列名作为键(适用于有返回结果集的存储过程或查询语句)
@SuppressWarnings("unchecked")
public List<Map<String, Object>> findSqlToMap(String queryString,
Object[] params) {
Session session = this.getHibernateTemplate().getSessionFactory()
.getCurrentSession();
Query query = session.createSQLQuery(queryString);
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
if (null != params) {
for (int i = 0; i < params.length; i++) {
query.setParameter(i, params[i]);
}
}
List<java.util.Map<String, Object>> list = query.list();
return list;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
spring整合hibernate和redis增删改查实例
共115个文件
jar:38个
class:31个
java:21个
2星 需积分: 17 40 下载量 183 浏览量
2017-07-28
22:26:23
上传
评论
收藏 20.27MB RAR 举报
温馨提示
spring整合springMVC和hibernate和redis增删改查实例
资源推荐
资源详情
资源评论
收起资源包目录
spring整合hibernate和redis增删改查实例 (115个子文件)
BaseDaoImpl.class 6KB
UserRedisDaoImpl.class 4KB
UserController.class 3KB
BaseServiceImpl.class 3KB
Page.class 3KB
RedisCacheConfig.class 3KB
User.class 2KB
UserRedisDaoImpl$2.class 2KB
UserRedisDaoImpl$3.class 2KB
UserRedisDaoImpl$4.class 2KB
AdminInterceptor.class 2KB
UserRedisDaoImpl$1.class 2KB
UserServiceImpl.class 2KB
UserDaoImpl.class 2KB
BaseDaoImpl$1.class 2KB
BaseDaoImpl$5.class 2KB
UserRedisServiceImpl.class 2KB
BaseDaoImpl$2.class 1KB
BaseDaoImpl$4.class 1KB
RedisCacheConfig$1.class 1KB
AbstractBaseRedisDao.class 1KB
BaseDaoImpl$3.class 1KB
IBaseDao.class 1KB
UserRedisController.class 1KB
IBaseService.class 850B
BaseController.class 675B
Constant.class 597B
IUserService.class 486B
IUserRedisService.class 460B
IUserRedisDao.class 448B
IUserDao.class 384B
.classpath 626B
org.eclipse.wst.common.component 464B
org.eclipse.wst.jsdt.ui.superType.container 49B
hibernate-core-5.2.10.Final.jar 6.31MB
aspectjweaver-1.8.10.jar 1.84MB
jackson-databind-2.6.1.jar 1.11MB
spring-context-4.3.9.RELEASE.jar 1.09MB
spring-core-4.3.9.RELEASE.jar 1.07MB
mysql-connector-java-5.1.36.jar 949KB
spring-webmvc-4.3.9.RELEASE.jar 894KB
spring-web-4.3.9.RELEASE.jar 801KB
jackson-mapper-asl-1.9.13.jar 762KB
spring-beans-4.3.9.RELEASE.jar 745KB
javassist-3.20.0-GA.jar 733KB
spring-data-redis-1.6.0.RELEASE.jar 683KB
mchange-commons-java-0.2.11.jar 592KB
c3p0-0.9.5.2.jar 486KB
log4j-1.2.17.jar 478KB
spring-orm-4.3.9.RELEASE.jar 466KB
antlr-2.7.7.jar 435KB
spring-jdbc-4.3.9.RELEASE.jar 418KB
spring-aop-4.3.9.RELEASE.jar 372KB
jedis-2.7.3.jar 318KB
dom4j-1.6.1.jar 307KB
spring-tx-4.3.9.RELEASE.jar 261KB
spring-expression-4.3.9.RELEASE.jar 257KB
jackson-core-2.6.1.jar 253KB
jackson-core-asl-1.9.13.jar 227KB
spring-context-support-4.3.9.RELEASE.jar 183KB
jandex-2.0.3.Final.jar 182KB
hibernate-jpa-2.1-api-1.0.0.Final.jar 111KB
commons-pool2-2.4.2.jar 109KB
hibernate-commons-annotations-5.0.1.Final.jar 74KB
commons-fileupload-1.3.1.jar 67KB
jboss-logging-3.3.0.Final.jar 65KB
classmate-1.3.0.jar 63KB
commons-logging-1.2.jar 60KB
spring-aspects-4.3.9.RELEASE.jar 57KB
jackson-annotations-2.6.1.jar 46KB
jboss-transaction-api_1.2_spec-1.0.1.Final.jar 28KB
hibernate-c3p0-5.2.10.Final.jar 11KB
BaseDaoImpl.java 7KB
UserRedisDaoImpl.java 3KB
Page.java 2KB
BaseServiceImpl.java 2KB
RedisCacheConfig.java 2KB
UserController.java 2KB
User.java 2KB
UserServiceImpl.java 1KB
IBaseDao.java 1KB
AdminInterceptor.java 1KB
UserDaoImpl.java 1KB
UserRedisServiceImpl.java 966B
IBaseService.java 912B
Constant.java 705B
UserRedisController.java 680B
AbstractBaseRedisDao.java 648B
BaseController.java 614B
IUserRedisService.java 456B
IUserRedisDao.java 443B
IUserService.java 419B
IUserDao.java 383B
.jsdtscope 503B
500.jsp 1KB
404.jsp 1KB
index.jsp 466B
MANIFEST.MF 39B
org.eclipse.wst.jsdt.ui.superType.name 6B
404.png 21KB
共 115 条
- 1
- 2
资源评论
- zhangw_20052017-08-25很差,编译不通过
龍醫師
- 粉丝: 1
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- FPGA(Field-Programmable Gate Array)是一种可编程的现场可重构逻辑器件
- IMG_20240329_092039.jpg
- UDP(User Datagram Protocol)是一种无连接的传输层协议
- asp代码ASP小型药店销售管理系统(源代码+论文)
- asp代码asp小型企业网上订单系统的设计与实现(源代码+论文)
- asp代码ASP小区物业管理系统设计与实现(论文+源代码+开题报告+文献综述+外文翻译)
- 基于android studio的SurfaceView应用设计
- 【Unity实用工具】实现游戏背景模糊
- Avalonia桌面程序,简约可以,已解决默认字体问题,Ubuntu20.04已验证正常运行
- asp代码ASP销售供应链管理系统的设计与开发(源代码+论文)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功