package com.cxstock.dao.impl;
import java.io.Serializable;
import java.sql.Connection;
import java.util.Collection;
import java.util.List;
import org.hibernate.Hibernate;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.cxstock.dao.BaseDAO;
/** 统一数据访问接口实现 */
@SuppressWarnings("unchecked")
public class BaseDAOImpl extends HibernateDaoSupport implements BaseDAO {
/** 保存或更新指定的持久化对象 */
public void save(Object obj) {
getHibernateTemplate().save(obj);
}
/** 保存或更新指定的持久化对象 */
public void saveOrUpdate(Object obj) {
getHibernateTemplate().saveOrUpdate(obj);
}
/** 删除指定ID的持久化对象 */
public void deleteById(Class clazz, Serializable id) {
getHibernateTemplate().delete(getHibernateTemplate().load(clazz, id));
}
/** 删除指定ID的持久化对象 */
public void delete(Object obj) {
getHibernateTemplate().delete(obj);
}
/** 加载指定ID的持久化对象 */
public Object loadById(Class clazz, Serializable id) {
return getHibernateTemplate().get(clazz, id);
}
/**加载满足条件的持久化对象*/
public Object loadObject(String hql) {
final String hql1 = hql;
Object obj = null;
List list = getHibernateTemplate().find(hql1);
if(list.size()>0)obj=list.get(0);
return obj;
}
/** 查询指定类的满足条件的持久化对象 */
public List findByHql(String hql) {
try{
final String hql1 = hql;
return getHibernateTemplate().find(hql1);
}
catch (Exception e) {
e.printStackTrace();
}return null;
}
/** 装载指定类的查询结果 */
public List findInProperty(String clazz, String propertyName, String value) {
String hql = "from "+clazz+" as model where model." + propertyName + " in (" + value + ")";
return getHibernateTemplate().find(hql);
}
/** 装载指定类的查询结果 */
public List findLikeProperty(String clazz, String propertyName, String value) {
String hql = "from "+clazz+" as model where model." + propertyName + " like ?";
return getHibernateTemplate().find(hql, value);
}
/** 装载指定类的查询结果 */
public List findByProperty(String clazz, String propertyName, Object value) {
String hql = "from "+clazz+" as model where model." + propertyName + "= ?";
return getHibernateTemplate().find(hql, value);
}
/** 装载指定类的查询结果 */
public List findByProperty(String clazz, String[] propertyName, Object[] value) {
String hsql = "from "+clazz+" as model where 1=1";
for (int i = 0; i < propertyName.length; i++) {
hsql += " and model." + propertyName[i] + "= ?";
}
return getHibernateTemplate().find(hsql, value);
}
/** 装载指定类的所有持久化对象 */
public List listAll(String clazz) {
return getHibernateTemplate().find("from "+clazz);
}
/** 条件更新数据 */
public int update(String hql) {
final String hql1 = hql;
return ((Integer)getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException{
Query query = session.createQuery(hql1);
return query.executeUpdate();
}
})).intValue();
}
/** 统计指定类的所有持久化对象 */
public int countAll(String clazz) {
final String hql = "select count(*) from "+clazz;
Long count = (Long)getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException{
Query query = session.createQuery(hql);
query.setMaxResults(1);
return query.uniqueResult();
}
});
return count.intValue();
}
/** 统计指定类的查询结果 */
public int countQuery(String hql) {
final String counthql = hql;
Long count = (Long)getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException{
Query query = session.createQuery(counthql);
query.setMaxResults(1);
return query.uniqueResult();
}
});
return count.intValue();
}
/** 分页装载指定类的查询结果 */
public List findInProperty(String clazz, String propertyName, String value, int start, int limit) {
String hql = "from "+clazz+" as model where model." + propertyName + " in (" + value + ")";
return this.findByHql(hql, start, limit);
}
/** 分页装载指定类的查询结果 */
public List findLikeProperty(String clazz, String propertyName, String value, int start, int limit) {
String hql = "from "+clazz+" as model where model." + propertyName + " like '"+value+"%'";
return this.findByHql(hql, start, limit);
}
/** 分页装载指定类的查询结果 */
public List findByProperty(String clazz, String propertyName, String value, int start, int limit) {
String hql = "from "+clazz+" as model where model." + propertyName + "= '"+value+"'";
return this.findByHql(hql, start, limit);
}
/** 分页装载指定类的查询结果 */
public List findByProperty(String clazz, String[] propertyName, Object[] value, int start, int limit) {
String hql = "from "+clazz+" as model where 1=1";
for (int i = 0; i < propertyName.length; i++) {
hql += " and model." + propertyName[i] + "= '"+value[i]+"'";
}
return this.findByHql(hql, start, limit);
}
/** 分页装载指定类的所有持久化对象 */
public List listAll(String clazz, int start, int limit) {
final int pStart = start;
final int pLimit = limit;
final String hql = "from "+clazz;
List list = getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException{
Query query = session.createQuery(hql);
query.setMaxResults(pLimit);
query.setFirstResult(pStart);
List result = query.list();
if (!Hibernate.isInitialized(result))Hibernate.initialize(result);
return result;
}
});
return list;
}
/** 分页查询指定类的满足条件的持久化对象 */
public List findByHql(String hql, int start, int limit) {
final int pStart = start;
final int pLimit = limit;
final String hql1 = hql;
return getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException{
Query query = session.createQuery(hql1);
query.setMaxResults(pLimit);
query.setFirstResult(pStart);
List result = query.list();
if (!Hibernate.isInitialized(result))Hibernate.initialize(result);
return result;
}
});
}
/** 从连接池中取得一个JDBC连接 */
@SuppressWarnings("deprecation")
public Connection getConnection() {
return getHibernateTemplate().getSessionFactory().getCurrentSession().connection();
}
/** 批量保存、修改 */
public void saveOrUpdateAll(Collection collection) {
getHibernateTemplate().saveOrUpdateAll(collection);
}
/** 调用存储过程 */
public void callProcedure(String call) {
SQLQuery query = this.getSession().createSQLQuery(call);
query.executeUpdate();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本资源为“JavaWeb库存管理系统”项目源码,采用Struts+Spring+Hibernate(SSH)框架进行开发,旨在为在校大学生的Java课程设计和毕业设计提供宝贵的学习参考。系统功能涵盖进货管理、销售管理、库存管理、用户登录等模块,代码结构清晰、便于学习和理解。项目使用JSP技术实现前端展示,利用Spring框架进行依赖注入,Hibernate处理数据持久化,确保系统稳定高效。该源码非常适合对SSH框架及库存管理系统感兴趣的Java学习者,为提升Java开发技能、掌握企业级应用开发提供了优质的参考资料。
资源推荐
资源详情
资源评论
收起资源包目录
javaweb项目库存管理系统struts+spring+hibernate-java课程设计毕业设计 (1598个子文件)
TongjiBizImpl.class 8KB
BaseDAOImpl.class 7KB
RoleBizImpl.class 7KB
XsAction.class 7KB
JhAction.class 6KB
TongjiAction.class 6KB
JhBizImpl.class 6KB
DjmxDTO.class 6KB
XsBizImpl.class 5KB
SpxxAction.class 5KB
Tools.class 5KB
BsyBizImpl.class 5KB
BaseAction.class 5KB
Spxx.class 4KB
BsyAction.class 4KB
UserAction.class 4KB
UserDTO.class 4KB
DataCopy.class 4KB
UserBizImpl.class 4KB
KcAction.class 4KB
SpxxBizImpl.class 4KB
SplbBizImpl.class 4KB
DateTime.class 4KB
DqkcDAOImpl.class 3KB
Tkd.class 3KB
Ckd.class 3KB
KcDTO.class 3KB
UserMenuDTO.class 3KB
RoleAction.class 3KB
GysBizImpl.class 3KB
KhBizImpl.class 3KB
Vusermenu.class 3KB
Jhdsp.class 3KB
Tkdsp.class 3KB
Thdsp.class 3KB
Ckdsp.class 3KB
GysAction.class 3KB
KcBizImpl.class 3KB
Thd.class 3KB
Jhd.class 3KB
KhAction.class 3KB
DqkcDTO.class 3KB
GysDTO.class 3KB
KhDTO.class 3KB
Bsdsp.class 3KB
Bydsp.class 3KB
Menu.class 2KB
RoleDTO.class 2KB
ReqEncodingFilter.class 2KB
SecurityFilter.class 2KB
Users.class 2KB
Gys.class 2KB
Kh.class 2KB
SplbAction.class 2KB
TreeNodeChecked.class 2KB
LoginedCheckInterceptor.class 2KB
DataCopyAction.class 2KB
SpdwAction.class 2KB
DoubleMath.class 2KB
Byd.class 2KB
Bsd.class 2KB
TreeNode.class 2KB
SpdwBizImpl.class 2KB
SearchAction.class 2KB
Splb.class 2KB
BaseDAOImpl$5.class 2KB
BaseDAOImpl$4.class 2KB
RolemenuId.class 2KB
Page.class 1KB
Rolemenu.class 1KB
Role.class 1KB
BaseDAO.class 1KB
BaseDAOImpl$3.class 1KB
BaseDAOImpl$2.class 1KB
BaseDAOImpl$1.class 1KB
SplbDTO.class 1KB
SearchBizImpl.class 1KB
XsAction$1.class 1KB
JhAction$1.class 1019B
SpdwDTO.class 959B
Spdw.class 896B
ComboData.class 888B
Constants.class 590B
XsBiz.class 484B
JhBiz.class 483B
RoleBiz.class 465B
TongjiBiz.class 447B
BsyBiz.class 420B
GysBiz.class 411B
UserBiz.class 384B
SpxxBiz.class 334B
KhBiz.class 324B
SplbBiz.class 295B
KcBiz.class 281B
SpdwBiz.class 276B
SearchBiz.class 270B
Aaaa.class 261B
DqkcDAO.class 245B
.classpath 8KB
org.eclipse.wst.common.component 473B
共 1598 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16
资源评论
csm2017
- 粉丝: 14
- 资源: 111
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文 校友社交系统.doc
- ssm421课程辅导网站的设计与实现-论文.doc
- ssm423基于ssm框架的智能停车系统+vue 论文.doc
- ssm428网页小游戏交流论坛+vue论文.doc
- 计算机系统结构复习资料
- 通过html和javascript实现跨年倒计时.zip
- python-pyqt5-图片爬取
- 通过python实现跨年烟花代码.zip
- 前端魔力赏盲盒小程序 UI原生盲盒微信小程序源码下载 亲测可用
- 通过python实现新年倒计时.zip
- calculator.py
- C# .Net 计算机房管理系统
- 操作系统--进程和线程实验报告.docx
- 基于Matlab实现快速扩展随机树RRT仿真(源码).rar
- 基于python与机器学习的豆瓣电影数据分析源码+报告PDF(高分大作业)
- 基于Simulink的UniTruck商用车155DOF动力学模型架构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功