BaseServiceInter.java:
package com.cz.base;
import java.util.List;
public interface BaseServiceInter {
//声明一些常用的方法
//1.通过id获取对象
public Object findById(Class clazz,java.io.Serializable id);
//2.查询方法 hql
public List executeQuery(String hql,Object []parameters);
//3.查询方法 带分页
public List executeQueryByPage(String hql,Object []parameters,int pageNow,int PagesSize);
//4.添加一个对象
public void add(Object obj);
//5.统一的执行hql->删除,修改 hql="update domain对象 where ?"
public List executeUpdate(String hql,Object []parameters);
//6.返回一个对象的操作
public Object uniqueQuery(String hql,Object []parameters);
//7.得到hql,返回pageCount
public int queryPageCount(String hql,Object [] parameters,int pageSize);
//8.根据id号删除对象
public void delById(Class clazz,java.io.Serializable id);
//9.通过Object修改
public void update(Object object);
}
BaseService.java:
package com.cz.base;
import java.io.Serializable;
import java.util.Iterator;
import java.util.List;
import javax.annotation.Resource;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.transaction.annotation.Transactional;
@Transactional
public abstract class BaseService implements BaseServiceInter {
@Resource
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public void add(Object obj) {
this.sessionFactory.getCurrentSession().save(obj);
}
//统一查询方法(hql)
public List executeQuery(String hql, Object[] parameters) {
// TODO Auto-generated method stub
Query query=this.sessionFactory.getCurrentSession().createQuery(hql);
//注入?值
if(parameters!=null && parameters.length>0){
for(int i=0;i<parameters.length;i++){
query.setParameter(i, parameters[i]);
}
}
return query.list();
}
//分页
public List executeQueryByPage(String hql, Object[] parameters,
int pageNow, int PagesSize) {
// TODO Auto-generated method stub
Query query=this.sessionFactory.getCurrentSession().createQuery(hql);
if(parameters!=null && parameters.length>0){
for(int i=0;i<parameters.length;i++){
query.setParameter(i, parameters[i]);
}
}
//体现分页
return query.setFirstResult((pageNow-1)*PagesSize).setMaxResults(PagesSize).list();
}
//统一的修改和删除
public List executeUpdate(String hql, Object[] parameters) {
// TODO Auto-generated method stub
return null;
}
public Object findById(Class clazz, Serializable id) {
// TODO Auto-generated method stub
return this.sessionFactory.getCurrentSession().get(clazz, id);
}
public Object uniqueQuery(String hql, Object[] parameters) {
// TODO Auto-generated method stub
Query query=this.sessionFactory.getCurrentSession().createQuery(hql);
//给?赋值
if(parameters!=null && parameters.length>0){
for(int i=0;i<parameters.length;i++){
query.setParameter(i, parameters[i]);
}
}
return query.uniqueResult();
}
public int queryPageCount(String hql, Object[] parameters, int pageSize) {
// TODO Auto-generated method stub
//获取rowCount
/* List list=this.executeQuery(hql, parameters);
Iterator iteator=list.iterator();
if(iteator.hasNext()){
}*/
Object obj=this.uniqueQuery(hql, parameters);
//System.out.println("obj value= "+ obj);//obj如果等于rowConunt
int rowCount=Integer.parseInt(obj.toString());
return (rowCount-1)/pageSize+1;
}
public void delById(Class clazz,Serializable id) {
// TODO Auto-generated method stub
Session session=this.sessionFactory.getCurrentSession();
session.delete(this.findById(clazz, id));
}
public void update(Object object) {
// TODO Auto-generated method stub
this.sessionFactory.getCurrentSession().update(object);
}
}
注:
配置@Transactoinal的目的就是让事务管理器,去接管该Service的事务
分享到:
相关推荐
总结来说,SSH框架整合是Java Web开发中的一个重要选择,它利用Spring的控制反转和面向切面编程,Struts2的MVC模型,以及Hibernate的对象关系映射,为企业级应用开发提供了一套成熟的解决方案。导入这个整合包,...
总结来说,SSH框架整合提供了强大的后端开发能力,它利用Spring的控制反转和面向切面编程,Struts的MVC模式,以及Hibernate的ORM特性,构建出高效、灵活的应用系统。通过XML配置和注解的结合,开发者可以便捷地管理...
总结来说,SSH框架整合提供了一个高效的企业级应用开发解决方案,通过Struts的控制层、Hibernate的数据持久层和Spring的业务逻辑层,实现了清晰的职责划分和松散的耦合。这个压缩包中的实例应该包含了所有必要的配置...
4. **整合SSH框架**:SSH框架整合后,Struts2处理用户的HTTP请求,根据配置将请求转发给Spring管理的业务Service;Service层调用Hibernate的DAO接口处理数据,完成数据库操作;处理完毕后,Service将结果返回给...
SSH框架,全称为Spring、Struts和Hibernate的组合,是一种常用的Java Web开发框架。这个框架集成了MVC设计模式,数据库持久化以及依赖注入等核心功能,极大地提高了开发效率和代码可维护性。以下是SSH框架集成的具体...
在SSH框架整合中,数据流通常如下:用户在JSP页面上填写表单,数据通过ActionFormBean传递到Action,Action处理数据并创建VO(Value Object)或PO对象,然后调用Spring管理的Service。Service进一步调用DAO接口,DAO...
总结来说,SSH框架集合提供了企业级应用开发的强大工具,Spring负责整体协调,Struts处理Web请求和展现逻辑,Hibernate则负责数据的持久化。这三大框架的结合,使得开发者能够更高效地构建复杂的应用程序,同时降低...
SSH2框架整合总结 SSH2,即Struts2、Spring和Hibernate的集成,是Java Web开发中的一个常用技术栈,用于构建高效、可扩展的企业级应用程序。本文将深入探讨SSH2框架整合的关键知识点,帮助开发者更好地理解和应用...
SSH2框架整合涉及到的是Spring、Struts2和Hibernate这三个开源框架的集成应用,它们是Java Web开发中的常用组件,能够帮助开发者构建高效、模块化的Web应用程序。SSH2框架的整合旨在提供一个统一的开发环境,使得各...
总结,SSH1整合框架是Java Web开发中常用的一种技术栈,通过Spring、Struts1和Hibernate的协同工作,实现了MVC模式的高效应用。虽然现在SSH2(Struts2)和Spring Boot等更现代的框架已经逐渐取代了SSH1,但对于理解...
SSH框架是Java开发中常用的三大开源框架——Spring、Struts2和Hibernate的组合,它们各自负责应用程序的不同层面:Spring作为核心容器,管理组件和依赖注入;Struts2处理MVC模式中的视图与控制;Hibernate则专注于...
SSH框架是Java开发中常用的三大开源框架整合,主要包括Spring、Struts和Hibernate。这三大框架分别负责不同的职责,Spring作为应用上下文和依赖注入容器,Struts处理HTTP请求与响应,而Hibernate则专注于对象关系...
SSH整合,全称为Struts2 + Spring + Hibernate的集成框架,是Java Web开发中常用的一种技术栈。这个“黑马SSH整合CRM项目”是针对客户关系管理(CRM)系统的一种实现,旨在提供高效、灵活的客户管理和业务流程控制。...
SSH框架是Java开发Web应用程序时常用的三大开源框架的组合,分别是Spring、Struts和Hibernate。它们各自负责不同的职责,共同构建了一个强大的MVC(Model-View-Controller)架构。 Spring框架是SSH的核心,它提供了...
**SSH框架整合**:在SSH框架集成中,Spring作为核心,负责管理和协调其他两个框架。Struts2的Action类通常会通过Spring进行依赖注入,而Hibernate的SessionFactory也是由Spring管理。此外,Spring可以整合AOP,用于...
【SSH框架整合】 在实现过程中,SSH框架的整合意味着Struts负责处理请求和响应,Spring管理依赖和事务,Hibernate则用于与数据库交互。例如,通过UserDAO接口(包含注册和登录所需的方法)及其实现类UserDAOImpl,...
SSH框架是Java开发中常用的三大框架整合,包括Spring、Struts和Hibernate。这些框架的结合为开发者提供了便捷的MVC(Model-View-Controller)架构支持,极大地提高了开发效率和代码质量。 **Spring框架** 是核心,...
SSH框架是Java开发中常用的三大框架——Spring、Struts和Hibernate的组合,它们分别负责不同层面的业务逻辑处理。Spring作为一个全面的轻量级容器,提供了依赖注入(DI)和面向切面编程(AOP)的功能,使得代码更加...