`
DXL_xiaoli
  • 浏览: 69763 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

S2SH整合修改

 
阅读更多

 

S2SH修改整合修改操作

 

其实我并不认为这就是级联修改,它只涉及到一个表的改动并未涉及到其他的表,我认为级联操作是涉及到多个表的操作。在这里我勉强地称之为级联修改。

Domain中的方法:
public class Orders implements java.io.Serializable {
	/**
	 * @author DXL_xiaoli
	 */
	private static final long serialVersionUID = 1L;
	//递增序列
	private Integer id;
	//支付方式
	private Payments payments;
	//员工
	private Employees employees;
	//客户
	private Customers customers;
	//订单编号
	private String number;
	//订单日期
	private Date rdate;
	//订单金额
	private Double sum;
	//送货方式
	private String sendmode;
	//订单状态
	private String status;
	
//生成set(),get(),public Orders(),public Orders(….)方法
}

 

 

当我们点击修改时将其所对应的实体的 id 传到 action 中并通过配置文件找到其所对应的 update() 方法。由于 Orders 表与客户表 Customers 、员工表 Employees 、支付方式表 Payments 都有所关联,在修改定单表需要将这三个有关联表中的字段查询出来,所以定义了查询这三个表的方法 -----emplist(),customerslist(),payModelist()

public class OrdersAction extends ActionSupport {

	/**
	 * @author DXL_xiaoli
	 */
	private static final long serialVersionUID = 1L;
	private OrdersServiceImpl ordersServiceImpl;
	private Orders entity;
	private List<Orders> entities;
	private Pagination pagination;
	private List<Employees> emplist;
	private List<Payments> payModelist;
	private List<Customers> customerslist;
//构造器注入
	public void setOrdersServiceImpl(OrdersServiceImpl ordersServiceImpl) {
		this.ordersServiceImpl = ordersServiceImpl;
	}
	
	public String findById() {
		entity = ordersServiceImpl.findById(entity.getId());
		return "findById";
	}

	@SuppressWarnings("unchecked")
	public String update() {
		emplist = ordersServiceImpl.emplist();
		customerslist = ordersServiceImpl.customerslist();
		payModelist = ordersServiceImpl.payModelist();

		entity = ordersServiceImpl.findById(entity.getId());
		return "update";
	}

	public String updateOk() {
     	ordersServiceImpl.update(entity);		
		return "updateOk";
	}
}

 
在服务层仍执行update()方法
public class OrdersServiceImpl implements OrdersService{
	private OrdersDaoImpl ordersDaoImpl;
	

	public void setOrdersDaoImpl(OrdersDaoImpl ordersDaoImpl) {
		this.ordersDaoImpl = ordersDaoImpl;
	}

	public Orders findById(Integer id) {
		
		return ordersDaoImpl.findById(id);
	}

	public void update(Orders entity) {
		ordersDaoImpl.update(entity);
	}
	public List customerslist() {
		
		return ordersDaoImpl.customerslist();
	}

	public List emplist() {
		
		return ordersDaoImpl.emplist();
	}

	public List payModelist() {
		
		return ordersDaoImpl.payModelist();
	}

}

 

 

在最底层我们将实现其修改。根据页面传来的 id 将客户表、员工表、支付方式表中的对象获取到,然后将其对象 set Orders 对象中,最后在执行 Orders 表中的 update 方法。

public class OrdersDaoImpl extends HibernateDaoSupport implements OrdersDao {
	public Orders findById(Integer id) {
		return (Orders) this.getHibernateTemplate().get(Orders.class, id);
	}
	public void update(Orders entity) {

		Customers customers = (Customers) this.getHibernateTemplate().get(
				Customers.class, entity.getCustomers().getId());

		Employees employees = (Employees) this.getHibernateTemplate().get(
				Employees.class, entity.getEmployees().getId());

		Payments payments = (Payments) this.getHibernateTemplate().get(
				Payments.class, entity.getPayments().getId());

		entity.setCustomers(customers);
		entity.setEmployees(employees);
		entity.setPayments(payments);

		this.getHibernateTemplate().update(entity);

	}

	public List customerslist() {

		return this.getHibernateTemplate().find(" from Customers");
	}

	public List emplist() {

		return this.getHibernateTemplate().find(" from Employees");
	}

	public List payModelist() {

		return this.getHibernateTemplate().find(" from Payments");
	}

}

 

 

以上是整个修改的全过程 ( 添加操作与修改操作类似,在此不做详解 ) ,若有写的不清楚的地方请留言 ……..

1
0
分享到:
评论

相关推荐

    基于S2SH整合的保险业务管理系统源码.zip

    基于S2SH整合的保险业务管理系统源码.zip 完整代码,可运行 项目描述 本系统旨在为当今的保险行业提供一套综合性的管理系统业务,系统的主要用户为保险的购买者以及系统的管理人员,基本功能包括:在线购买保险、...

    S2SH 框架整合

    jar包不同,有可能jar里的类、或类里的方法有改动,比如方法后来修改了,或者有比这个方法被取代了等等原因。综上所述,由低版本到高版本时,代码可以不改变,最多原先的代码使用的类或类里的方法不是最新的而已!

    Maven整合S2SH.docx

    使用maven多模块搭建工程,先使用xml配置struts2、spring、hibernate。然后将工程修改为通过注解配置。并说明了在修改过程中需要通过添加配置来解决一些问题。

    已经整合好的小型S2SH框架(完全注释+依赖jar包)

    已经将Struts2和Hibernate与Spring整合,测试可用。含三个框架的核心依赖jar包,不含JDBC驱动,测试例子是用MySQL作为数据库的。请自行更换数据库,添加驱动,修改Hibernate设置和数据库配置。 含有大量注释,适合...

    java Struts2+hibernate+Spring整合的通讯录

    java s2sh三大框架整合的通讯录系统 界面美观 (1) 通信录实现浏览或查找通信录中记录,能够添加,删除,修改记录等。 (2) 用户处于只有登录之后才可以添加,删除,修改记录;如果没有登录只可以查看信息。 (3) 用户...

    SSH三大框架的整合(springmvc+spring+hibernate)

    对于刚进入职场的朋友适合的一款整合,本人亲自搭建,jar包和配置文件都在里面,划分了dao永久层,service逻辑层,controller控制层,下载直接导入,然后修改部分配置文件就...喜欢的朋友后面还有ssm整合和s2sh整合。

    基于ssm在线商城系统(含文档)

    本文首先介绍了电子商城系统的现状及开发的可行性,然后论述了系统的设计目的,系统需求和概要设计方案,较详细的论述了系统的需求分析、概要设计和数据库...在设计方面,本系统采用S2SH框架整合开发,数据采用Mysql;

    我们老师的 ssh2 整合项目 员工信息管理 spring4 hibernate4.2 struts2.3.15

    基于ssh2的员工信息管理项目。运行完美可用,可以当作整合好的环境使用,也可以将项目少做修改当作课程设计所用,反正此项目已完美解决了很多整合中遇到的问题。 spring4 hibernate4.2 struts2.3.15

    java毕业设计之SSM商城系统(源码+LW).zip

    java毕业设计之SSM商城系统(源码+LW) 电子商城系统主要为用户提供了会员注册,购物车,个人信息修改等功能,为管理员提供了商品管理,用户管理,订单...在设计方面,本系统采用S2SH框架整合开发,数据采用Mysql;

    基于jsp+SSM+mysql的商城系统(源码+论文)

    目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,极大地改变了人类从...在设计方面,本系统采用S2SH框架整合开发,数据采用Mysql;

    SSM商城系统设计与实现.zip

    目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,极大地改变了人类从...在设计方面,本系统采用S2SH框架整合开发,数据采用Mysql;

    基于javaWeb实现电子商城管理系统带数据库sql文件和文档说明分享

    摘要 目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的...在设计方面,本系统采用S2SH框架整合开发,数据采用Mysql; 关键词: 电子商城、JavaWeb

    基于javaWeb实现电子商城管理系统带数据库sql文件和文档说明

    摘要 目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的...在设计方面,本系统采用S2SH框架整合开发,数据采用Mysql; 关键词: 电子商城、JavaWeb

    SSH Struts2+spring+hibernate实例整合

    项目从网上下载,经本人调试成功后上传,运行一切正常,运用框架为struts2+hibernate+spring,该实例内只有一个登陆查询实例,当用户查询正确之后...然后修改数据库库和表名字即可运行(记得添加一条以上的数据进行测试)

    网络数据库课程设计报告.pdf

    此网上选课系统主要采用 RCP 和 S2SH 技术来完成,管理员模块采用 RCP 技术, 就是 Rich Client Platform 的缩写, 即富客户端平台, 做成应用软件的形式。 然后其他模块的功能就用 Struts2+Spring2.0+Hibernate3.2...

    基于JavaScript的三维地图程序(仿e都市gis)

    1.配置搜索功能,后台改用s2sh框架 2.完成hessian+spring+hibernate整合,提供建筑信息和公司信息hessian查找服务 2009-12-23 1.配置hessian服务端缓存 2.配置hessian日志记录,输出到文件/log/wzucxd/html 3.完成...

Global site tag (gtag.js) - Google Analytics