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();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
毕业设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,已获高分通过项目。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以作为毕设、课程设计使用。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 里面有部署教程,项目都经过严格调试,确保可以运行! 1. 技术组成 后台框架:SpringBoot 前端:Vue 数据库:MySQL Maven 开发环境:JDK、IDEA、Tomcat 2. 部署教程 https://blog.junxu666.top/p/49037.html 如果需要指导,也可以私信联系我
资源推荐
资源详情
资源评论
收起资源包目录
基于 SpringBoot + vue 的进销存或库存管理系统(1)+数据库(毕业设计,包括源码,教程).zip (1558个子文件)
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
UserDTO.class 4KB
UserAction.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
GysBizImpl.class 3KB
RoleAction.class 3KB
KhBizImpl.class 3KB
Vusermenu.class 3KB
Jhdsp.class 3KB
Tkdsp.class 3KB
Thdsp.class 3KB
Ckdsp.class 3KB
KcBizImpl.class 3KB
Thd.class 3KB
Jhd.class 3KB
GysAction.class 3KB
DqkcDTO.class 3KB
KhAction.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 1023B
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 836B
org.eclipse.wst.common.component 473B
共 1558 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16
资源评论
- ggw1219562024-03-03资源有很好的参考价值,总算找到了自己需要的资源啦。
gdutxiaoxu
- 粉丝: 1520
- 资源: 2910
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功