KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > springframework > samples > jpetstore > dao > ibatis > SqlMapOrderDao


1 package org.springframework.samples.jpetstore.dao.ibatis;
2
3 import java.util.List JavaDoc;
4
5 import org.springframework.dao.DataAccessException;
6 import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
7 import org.springframework.samples.jpetstore.dao.OrderDao;
8 import org.springframework.samples.jpetstore.domain.LineItem;
9 import org.springframework.samples.jpetstore.domain.Order;
10
11 public class SqlMapOrderDao extends SqlMapClientDaoSupport implements OrderDao {
12
13   private SqlMapSequenceDao sequenceDao;
14
15     public void setSequenceDao(SqlMapSequenceDao sequenceDao) {
16         this.sequenceDao = sequenceDao;
17     }
18
19     public List JavaDoc getOrdersByUsername(String JavaDoc username) throws DataAccessException {
20     return getSqlMapClientTemplate().queryForList("getOrdersByUsername", username);
21   }
22
23   public Order getOrder(int orderId) throws DataAccessException {
24     Object JavaDoc parameterObject = new Integer JavaDoc(orderId);
25     Order order = (Order) getSqlMapClientTemplate().queryForObject("getOrder", parameterObject);
26         if (order != null) {
27         order.setLineItems(getSqlMapClientTemplate().queryForList("getLineItemsByOrderId", new Integer JavaDoc(order.getOrderId())));
28         }
29     return order;
30   }
31
32   public void insertOrder(Order order) throws DataAccessException {
33         order.setOrderId(this.sequenceDao.getNextId("ordernum"));
34         getSqlMapClientTemplate().insert("insertOrder", order);
35         getSqlMapClientTemplate().insert("insertOrderStatus", order);
36     for (int i = 0; i < order.getLineItems().size(); i++) {
37       LineItem lineItem = (LineItem) order.getLineItems().get(i);
38       lineItem.setOrderId(order.getOrderId());
39       getSqlMapClientTemplate().insert("insertLineItem", lineItem);
40     }
41   }
42
43 }
44
Popular Tags