`

ssh框架整合常用方法总结

阅读更多

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框架整合包/SSH框架jar包集合/Spring/Struts2/Hibernate

    总结来说,SSH框架整合是Java Web开发中的一个重要选择,它利用Spring的控制反转和面向切面编程,Struts2的MVC模型,以及Hibernate的对象关系映射,为企业级应用开发提供了一套成熟的解决方案。导入这个整合包,...

    SSH框架整合

    总结来说,SSH框架整合提供了强大的后端开发能力,它利用Spring的控制反转和面向切面编程,Struts的MVC模式,以及Hibernate的ORM特性,构建出高效、灵活的应用系统。通过XML配置和注解的结合,开发者可以便捷地管理...

    ssh框架整合 含增删改查例子

    总结来说,SSH框架整合提供了一个高效的企业级应用开发解决方案,通过Struts的控制层、Hibernate的数据持久层和Spring的业务逻辑层,实现了清晰的职责划分和松散的耦合。这个压缩包中的实例应该包含了所有必要的配置...

    基于SSH框架的员工管理系统

    4. **整合SSH框架**:SSH框架整合后,Struts2处理用户的HTTP请求,根据配置将请求转发给Spring管理的业务Service;Service层调用Hibernate的DAO接口处理数据,完成数据库操作;处理完毕后,Service将结果返回给...

    ssh框架使用方法总结

    SSH框架,全称为Spring、Struts和Hibernate的组合,是一种常用的Java Web开发框架。这个框架集成了MVC设计模式,数据库持久化以及依赖注入等核心功能,极大地提高了开发效率和代码可维护性。以下是SSH框架集成的具体...

    SSH框架整合[总结].pdf

    在SSH框架整合中,数据流通常如下:用户在JSP页面上填写表单,数据通过ActionFormBean传递到Action,Action处理数据并创建VO(Value Object)或PO对象,然后调用Spring管理的Service。Service进一步调用DAO接口,DAO...

    SSH框架JAR包集合

    总结来说,SSH框架集合提供了企业级应用开发的强大工具,Spring负责整体协调,Struts处理Web请求和展现逻辑,Hibernate则负责数据的持久化。这三大框架的结合,使得开发者能够更高效地构建复杂的应用程序,同时降低...

    SSH2框架整合总结

    SSH2框架整合总结 SSH2,即Struts2、Spring和Hibernate的集成,是Java Web开发中的一个常用技术栈,用于构建高效、可扩展的企业级应用程序。本文将深入探讨SSH2框架整合的关键知识点,帮助开发者更好地理解和应用...

    SSH2框架整合Jar包

    SSH2框架整合涉及到的是Spring、Struts2和Hibernate这三个开源框架的集成应用,它们是Java Web开发中的常用组件,能够帮助开发者构建高效、模块化的Web应用程序。SSH2框架的整合旨在提供一个统一的开发环境,使得各...

    SSH1整合框架

    总结,SSH1整合框架是Java Web开发中常用的一种技术栈,通过Spring、Struts1和Hibernate的协同工作,实现了MVC模式的高效应用。虽然现在SSH2(Struts2)和Spring Boot等更现代的框架已经逐渐取代了SSH1,但对于理解...

    简单的SSH框架搭建包含测试方法(其中hibernate包含在Spring框架中)

    SSH框架是Java开发中常用的三大开源框架——Spring、Struts2和Hibernate的组合,它们各自负责应用程序的不同层面:Spring作为核心容器,管理组件和依赖注入;Struts2处理MVC模式中的视图与控制;Hibernate则专注于...

    SSH框架总结

    SSH框架是Java开发中常用的三大开源框架整合,主要包括Spring、Struts和Hibernate。这三大框架分别负责不同的职责,Spring作为应用上下文和依赖注入容器,Struts处理HTTP请求与响应,而Hibernate则专注于对象关系...

    黑马SSH整合CRM项目

    SSH整合,全称为Struts2 + Spring + Hibernate的集成框架,是Java Web开发中常用的一种技术栈。这个“黑马SSH整合CRM项目”是针对客户关系管理(CRM)系统的一种实现,旨在提供高效、灵活的客户管理和业务流程控制。...

    ssh框架学习总结

    SSH框架是Java开发Web应用程序时常用的三大开源框架的组合,分别是Spring、Struts和Hibernate。它们各自负责不同的职责,共同构建了一个强大的MVC(Model-View-Controller)架构。 Spring框架是SSH的核心,它提供了...

    ssh.zip_SSH框架_ssh_ssh 框架

    **SSH框架整合**:在SSH框架集成中,Spring作为核心,负责管理和协调其他两个框架。Struts2的Action类通常会通过Spring进行依赖注入,而Hibernate的SessionFactory也是由Spring管理。此外,Spring可以整合AOP,用于...

    JAVA-Web课程设计--注册登录系统---用SSH框架整合实现注册登录系.docx

    【SSH框架整合】 在实现过程中,SSH框架的整合意味着Struts负责处理请求和响应,Spring管理依赖和事务,Hibernate则用于与数据库交互。例如,通过UserDAO接口(包含注册和登录所需的方法)及其实现类UserDAOImpl,...

    ssh框架总结_ ssm心得体会-Java文档类资源

    SSH框架是Java开发中常用的三大框架整合,包括Spring、Struts和Hibernate。这些框架的结合为开发者提供了便捷的MVC(Model-View-Controller)架构支持,极大地提高了开发效率和代码质量。 **Spring框架** 是核心,...

    关于ssh框架学习的一些总结,还有常用的一些jar包,包括数据库连接包.zip

    SSH框架是Java开发中常用的三大框架——Spring、Struts和Hibernate的组合,它们分别负责不同层面的业务逻辑处理。Spring作为一个全面的轻量级容器,提供了依赖注入(DI)和面向切面编程(AOP)的功能,使得代码更加...

Global site tag (gtag.js) - Google Analytics