首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

S2SH调整修改

2012-10-06 
S2SH整合修改?S2SH修改整合修改操作?其实我并不认为这就是级联修改,它只涉及到一个表的改动并未涉及到其他

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");}}

?

?

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

热点排行