`

struts2.2-jquery-plugin学习DAO层和Service层文件(四)

阅读更多

(一)DAO层的写法:

DAO接口:

package com.newsicom.jxc.basicInfo.goodsUnits.dao;

import java.util.List;

import com.newsicom.jxc.basicInfo.common.dao.IBaseDao;
import com.newsicom.jxc.basicInfo.common.util.PageBean;

public interface IGoodsUnitsDao<T> extends IBaseDao<T> {
	/**
	 * 保存对象
	 * @param t
	 */
	public void create(T t);
	/**
	 * 添加商品单位
	 * @param transientInstance
	 */
	public void save(T transientInstance) ;

	/**
	 * 删除商品
	 * @param persistentInstance
	 */
	public void delete(T persistentInstance) ;

	/**
	 * 根据id查找商品单位
	 * @param id
	 * @return
	 */
	public T findById(Class<T> clazz,java.lang.Integer id) ;

	/**
	 * 根据id删除商品单位
	 * @param id
	 */
	public void deleteByID(java.lang.Integer id);

	/**查找所有的商品单位
	 * @return
	 */
	public List<T> findAll();

	/**
	 * 分页查询
	 * @param sql
	 * @param index
	 * @param pageSize
	 * @return
	 */
	public PageBean<T> getT(String hql,int index,int pageSize);

	/**
	 * 用hibernate分页
	 * @param sql
	 * @param index
	 * @param pageSize
	 * @return
	 */
	public List<T> getPageT(String hql,int index,int pageSize);

	/**
	 * 更新
	 * @param productUnits
	 */
	public void update(T t);
}

 DAO实现类:

package com.newsicom.jxc.basicInfo.goodsUnits.dao.imp;

import java.util.List;

import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.newsicom.jxc.basicInfo.common.model.GoodsUnits;
import com.newsicom.jxc.basicInfo.common.model.ProductUnits;
import com.newsicom.jxc.basicInfo.common.util.PageBean;
import com.newsicom.jxc.basicInfo.goodsUnits.dao.IGoodsUnitsDao;

public class GoodsUnitsDao extends HibernateDaoSupport implements IGoodsUnitsDao<GoodsUnits> {

	/* (non-Javadoc)
	 * @see com.newsicom.jxc.basicInfo.goodsUnits.dao.IGoodsUnitsDao#create(java.lang.Object)
	 */
	public void create(GoodsUnits t) {
		getHibernateTemplate().persist(t);
	}

	public void save(GoodsUnits transientInstance) {
		getHibernateTemplate().save(transientInstance);
	}

	public void delete(GoodsUnits persistentInstance) {
		getHibernateTemplate().delete(persistentInstance);
	}

	public GoodsUnits findById(Class<GoodsUnits> clazz, Integer id) {
		int intId=id.intValue();
		return getHibernateTemplate().get(GoodsUnits.class,intId);
	}

	public void deleteByID(Integer id) {
		int intId=id.intValue();
		GoodsUnits goodsUnits=findById(GoodsUnits.class,intId);
		getHibernateTemplate().delete(goodsUnits);
		
	}

	public List<GoodsUnits> findAll() {
		return getHibernateTemplate().find("from GoodsUnits");
	}

	public PageBean<GoodsUnits> getT(String hql, int index, int pageSize) {
		PageBean pb=new PageBean();
		pb.setIndex(index);
		pb.setPageSize(pageSize);
		pb.setTotal(findAll().size());
		List<GoodsUnits> pageData=getPageT(hql,(index-1)*pageSize,pageSize);
		pb.setT(pageData);
		return pb;
	}

	public List<GoodsUnits> getPageT(String hql, int index, int pageSize) {
		Query q = getSession().createQuery(hql);   
		q.setFirstResult(index);;   
		q.setMaxResults(pageSize);;   
		List<GoodsUnits> list = q.list();
		return list;
	}

	public void update(GoodsUnits t) {
		getHibernateTemplate().update(t);
		
	}

}

 (二)Service层:

service层接口:

package com.newsicom.jxc.basicInfo.goodsUnits.service;

import java.util.List;

import com.newsicom.jxc.basicInfo.common.util.PageBean;

public interface IGoodsUnitsService<T> {
	/**
	 * 保存对象
	 * @param t
	 */
	public void create(T t);
	/**
	 * 添加商品单位
	 * @param transientInstance
	 */
	public void save(T transientInstance) ;

	/**
	 * 删除商品
	 * @param persistentInstance
	 */
	public void delete(T persistentInstance) ;

	/**
	 * 根据id查找商品单位
	 * @param id
	 * @return
	 */
	public T findById(Class<T> clazz,java.lang.Integer id) ;

	/**
	 * 根据id删除商品单位
	 * @param id
	 */
	public void deleteByID(java.lang.Integer id);

	/**查找所有的商品单位
	 * @return
	 */
	public List<T> findAll();

	/**
	 * 分页查询
	 * @param sql
	 * @param index
	 * @param pageSize
	 * @return
	 */
	public PageBean getT(String hql,int index,int pageSize);

	/**
	 * 用hibernate分页
	 * @param sql
	 * @param index
	 * @param pageSize
	 * @return
	 */
	public List<T> getPageT(String hql,int index,int pageSize);

	/**
	 * 更新
	 * @param productUnits
	 */
	public void update(T t);
}

 service层实现:

package com.newsicom.jxc.basicInfo.goodsUnits.service.imp;

import java.util.List;

import com.newsicom.jxc.basicInfo.common.model.GoodsUnits;
import com.newsicom.jxc.basicInfo.common.util.PageBean;
import com.newsicom.jxc.basicInfo.goodsUnits.dao.IGoodsUnitsDao;
import com.newsicom.jxc.basicInfo.goodsUnits.service.IGoodsUnitsService;

public  class GoodsUnitsService implements IGoodsUnitsService<GoodsUnits> {

	private IGoodsUnitsDao<GoodsUnits> goodsUnitsDao;
	public void create(GoodsUnits t) {
		this.goodsUnitsDao.create(t);
		
	}

	public void save(GoodsUnits transientInstance) {
		this.goodsUnitsDao.save(transientInstance);
	}

	public void delete(GoodsUnits persistentInstance) {
		this.goodsUnitsDao.delete(persistentInstance);
	}

	public GoodsUnits findById(Class<GoodsUnits> clazz, Integer id) {
		return (GoodsUnits) this.goodsUnitsDao.findById(clazz, id);
	}

	public void deleteByID(Integer id) {
		this.deleteByID(id);
	}

	public List<GoodsUnits> findAll() {
		return this.findAll();
	}

	public PageBean<GoodsUnits> getT(String hql, int index, int pageSize) {
		return this.goodsUnitsDao.getT(hql, index, pageSize);
	}

	public List<GoodsUnits> getPageT(String hql, int index, int pageSize) {
		return this.goodsUnitsDao.getPageT(hql, index, pageSize);
	}

	public void update(GoodsUnits t) {
		this.goodsUnitsDao.update(t);
	}

	public void setGoodsUnitsDao(IGoodsUnitsDao<GoodsUnits> goodsUnitsDao) {
		this.goodsUnitsDao = goodsUnitsDao;
	}

	
	

}

 关于DAO和service在applicationContext.xml的配置请查看第二篇文章关于配置

分享到:
评论

相关推荐

    struts2整合jquery

    在Struts2框架中整合jQuery,我们可以实现更高效和流畅的Web应用交互,尤其是通过Ajax进行异步数据提交和对象列表展示。以下是整合过程的详细步骤及知识点: 首先,我们需要确保具备以下环境: 1. Struts2框架版本...

    SSH框架(Struts,Hibernate,Spring)的所有jar包

    - 各种主题和UI标签库的jar包,如`struts2-dojo-plugin.jar`、`struts2-jquery-plugin.jar`等。 **Hibernate框架** Hibernate是一个对象关系映射(ORM)工具,它简化了数据库操作。其主要jar包包括: - `hibernate-...

    struts+spring+hibernate ssh框架一个实例

    2. 配置Spring:在spring.xml文件中,声明Service层和DAO层的bean,定义它们的属性并注入相应的实现类。此外,还需要配置Hibernate的相关bean,如SessionFactory、DataSource、HibernateTemplate或JdbcTemplate等。 ...

    ssh框架搭建需要导入的jar(超级全)

    在项目中,将这些jar包添加到类路径后,需要配置相应的XML文件(如struts.xml、spring-context.xml、hibernate.cfg.xml),定义Action、Service、DAO以及数据库连接等。通过这种方式,SSH框架可以帮助开发者快速构建...

    SSH框架整合中用到的jar包

    4. 创建Action类、Service层、DAO层,并进行相应的注解或配置。 5. 运行项目,测试是否能正常运行。 注意,SSH框架整合时应避免版本冲突,选择兼容的jar包。同时,合理使用Maven或Gradle等构建工具可以自动管理依赖...

    struts2学习资料,笔记

    Struts2拥有丰富的插件系统,可以方便地与Spring、Hibernate等框架集成,如Struts2-Spring-plugin和Struts2-Hibernate-plugin。 **6. 国际化和本地化:** Struts2支持国际化和本地化,通过资源文件(如.properties...

    SSH所需Jar

    在SSH项目中,Spring主要负责业务逻辑层(Service)和数据访问层(DAO)的管理。Spring所需的Jar包包括: - spring-beans.jar:包含Spring的核心Bean容器和依赖注入功能。 - spring-context.jar:提供上下文支持...

    struts2笔记和代码

    代码部分可能包含了实际的Struts2应用实例,比如Action类的实现、视图层JSP页面、以及各种业务服务和DAO层的代码。这有助于理解Struts2如何与数据库交互,如何处理HTTP请求,以及如何返回结果给客户端。 Struts2...

    struts2框架实现的当当网图书购物项目

    在Struts2中,可以通过DAO(Data Access Object)或Service层来封装这些操作,保持业务逻辑与数据访问的分离。 项目的开发流程可能如下: 1. 用户通过前端页面浏览图书信息,搜索书籍,添加到购物车。 2. Struts2...

    基于Struts2+Ajax+JDBC的企业级JavaWeb架构.zip

    在Struts2框架下,可以利用Struts2的Ajax插件,如Struts2-Conventions或Struts2-JQuery Plugin,轻松集成Ajax功能。 **JDBC(Java Database Connectivity)** 是Java平台的标准API,用于与各种数据库进行交互。通过...

    Struts 2 + Spring 2 + JPA + AJAX 示例

    3. **DAO 和 Service 层**:创建 DAO(Data Access Object)接口和实现,用于与数据库交互。Service 层则封装了业务逻辑,它们都依赖于 Spring 的依赖注入进行实例化。 4. **Struts 2 动作配置**:编写 Struts 2 的...

    Struts2整合Spring

    Struts2通过配置struts-plugin.xml文件来识别这些Spring Bean,并将它们作为Action实例。这样,我们在Action类中可以直接使用Spring管理的其他服务,如DAO层对象,无需手动创建或初始化。 接下来是Hibernate,它是...

    struts2+hibernate的网上购物管理系统的课程设计

    每个用户操作(如浏览商品、添加购物车、下单等)都可以对应一个Action,Action中调用业务逻辑层(Service)的方法,Service层再调用持久层(DAO)的操作,最终由DAO通过Hibernate与数据库交互。Struts2的配置文件...

    java_sturts多附件上传

    如果需要将文件信息保存在数据库中,创建对应的实体类和DAO层,将文件名、类型、大小等信息存储起来,以便后续的查询和下载。 8. **异常处理**: 在文件上传过程中可能会出现各种异常,如文件过大、格式不正确等...

    基于SSH的智能停车管理系统源码.zip

    4. SSM整合:SSH是Spring、Struts2和Hibernate的集成,通常通过Spring的ContextLoaderListener配置整个应用程序上下文,然后Struts2与Spring结合,通过Spring插件(struts2-spring-plugin)进行Action的管理,最后...

    分页查询

    2. 数据库查询部分,结合Hibernate的分页功能,可以在Service或DAO层完成,然后返回Page对象给Action,再由Struts2的插件或自定义标签处理前端显示。 总结,分页查询在Web开发中扮演着关键角色,能够有效地管理和...

    SSH实现基本的增删改

    文件名如`struts_log.ldf`和`struts.mdf`可能分别代表Struts2的日志文件和数据库文件。`aodeors`可能是项目中的一个模块或者文件夹,具体含义无法从给定信息中确定,但在实际项目中,这可能包含了业务逻辑代码、DAO...

    用structs2生成树

    配置Spring的`struts-plugin.xml`和`applicationContext.xml`,将Struts2与Spring整合,实现Action的自动装配。同时,配置Hibernate的`hibernate.cfg.xml`,包括数据库连接、实体扫描等。 7. **测试与优化**: ...

    前端-后端java的Util类的工具类

    │ Dao.java │ GeneratorDemo.java │ hibernate.cfg.xml │ HibernateDaoImpl.java │ HibernateSessionFactory.java │ HibernateUtil.java │ JsonUtil.java │ list.txt │ log4j.properties │ ...

    xmljava系统源码-javaweb1024-cluster:javaweb1024-集群

    xml java系统源码 javaweb1024-cluster 具体详情参照 一. 架构框架说明 后端技术点说明 Mysql SpringMVC FreeMarker ...Kaptcha(Google验证码)...Dao:数据层 Entity:实体类 Redis:缓存服务器相关 Task: 定时任务 Plugin &T

Global site tag (gtag.js) - Google Analytics