(一)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,我们可以实现更高效和流畅的Web应用交互,尤其是通过Ajax进行异步数据提交和对象列表展示。以下是整合过程的详细步骤及知识点: 首先,我们需要确保具备以下环境: 1. Struts2框架版本...
- 各种主题和UI标签库的jar包,如`struts2-dojo-plugin.jar`、`struts2-jquery-plugin.jar`等。 **Hibernate框架** Hibernate是一个对象关系映射(ORM)工具,它简化了数据库操作。其主要jar包包括: - `hibernate-...
2. 配置Spring:在spring.xml文件中,声明Service层和DAO层的bean,定义它们的属性并注入相应的实现类。此外,还需要配置Hibernate的相关bean,如SessionFactory、DataSource、HibernateTemplate或JdbcTemplate等。 ...
在项目中,将这些jar包添加到类路径后,需要配置相应的XML文件(如struts.xml、spring-context.xml、hibernate.cfg.xml),定义Action、Service、DAO以及数据库连接等。通过这种方式,SSH框架可以帮助开发者快速构建...
4. 创建Action类、Service层、DAO层,并进行相应的注解或配置。 5. 运行项目,测试是否能正常运行。 注意,SSH框架整合时应避免版本冲突,选择兼容的jar包。同时,合理使用Maven或Gradle等构建工具可以自动管理依赖...
Struts2拥有丰富的插件系统,可以方便地与Spring、Hibernate等框架集成,如Struts2-Spring-plugin和Struts2-Hibernate-plugin。 **6. 国际化和本地化:** Struts2支持国际化和本地化,通过资源文件(如.properties...
在SSH项目中,Spring主要负责业务逻辑层(Service)和数据访问层(DAO)的管理。Spring所需的Jar包包括: - spring-beans.jar:包含Spring的核心Bean容器和依赖注入功能。 - spring-context.jar:提供上下文支持...
代码部分可能包含了实际的Struts2应用实例,比如Action类的实现、视图层JSP页面、以及各种业务服务和DAO层的代码。这有助于理解Struts2如何与数据库交互,如何处理HTTP请求,以及如何返回结果给客户端。 Struts2...
在Struts2中,可以通过DAO(Data Access Object)或Service层来封装这些操作,保持业务逻辑与数据访问的分离。 项目的开发流程可能如下: 1. 用户通过前端页面浏览图书信息,搜索书籍,添加到购物车。 2. Struts2...
在Struts2框架下,可以利用Struts2的Ajax插件,如Struts2-Conventions或Struts2-JQuery Plugin,轻松集成Ajax功能。 **JDBC(Java Database Connectivity)** 是Java平台的标准API,用于与各种数据库进行交互。通过...
3. **DAO 和 Service 层**:创建 DAO(Data Access Object)接口和实现,用于与数据库交互。Service 层则封装了业务逻辑,它们都依赖于 Spring 的依赖注入进行实例化。 4. **Struts 2 动作配置**:编写 Struts 2 的...
Struts2通过配置struts-plugin.xml文件来识别这些Spring Bean,并将它们作为Action实例。这样,我们在Action类中可以直接使用Spring管理的其他服务,如DAO层对象,无需手动创建或初始化。 接下来是Hibernate,它是...
每个用户操作(如浏览商品、添加购物车、下单等)都可以对应一个Action,Action中调用业务逻辑层(Service)的方法,Service层再调用持久层(DAO)的操作,最终由DAO通过Hibernate与数据库交互。Struts2的配置文件...
如果需要将文件信息保存在数据库中,创建对应的实体类和DAO层,将文件名、类型、大小等信息存储起来,以便后续的查询和下载。 8. **异常处理**: 在文件上传过程中可能会出现各种异常,如文件过大、格式不正确等...
4. SSM整合:SSH是Spring、Struts2和Hibernate的集成,通常通过Spring的ContextLoaderListener配置整个应用程序上下文,然后Struts2与Spring结合,通过Spring插件(struts2-spring-plugin)进行Action的管理,最后...
2. 数据库查询部分,结合Hibernate的分页功能,可以在Service或DAO层完成,然后返回Page对象给Action,再由Struts2的插件或自定义标签处理前端显示。 总结,分页查询在Web开发中扮演着关键角色,能够有效地管理和...
文件名如`struts_log.ldf`和`struts.mdf`可能分别代表Struts2的日志文件和数据库文件。`aodeors`可能是项目中的一个模块或者文件夹,具体含义无法从给定信息中确定,但在实际项目中,这可能包含了业务逻辑代码、DAO...
配置Spring的`struts-plugin.xml`和`applicationContext.xml`,将Struts2与Spring整合,实现Action的自动装配。同时,配置Hibernate的`hibernate.cfg.xml`,包括数据库连接、实体扫描等。 7. **测试与优化**: ...
│ Dao.java │ GeneratorDemo.java │ hibernate.cfg.xml │ HibernateDaoImpl.java │ HibernateSessionFactory.java │ HibernateUtil.java │ JsonUtil.java │ list.txt │ log4j.properties │ ...
xml java系统源码 javaweb1024-cluster 具体详情参照 一. 架构框架说明 后端技术点说明 Mysql SpringMVC FreeMarker ...Kaptcha(Google验证码)...Dao:数据层 Entity:实体类 Redis:缓存服务器相关 Task: 定时任务 Plugin &T