1 package org.springframework.samples.jpetstore.dao.ibatis; 2 3 import java.util.ArrayList ; 4 import java.util.List ; 5 import java.util.StringTokenizer ; 6 7 import org.springframework.dao.DataAccessException; 8 import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; 9 import org.springframework.samples.jpetstore.dao.ProductDao; 10 import org.springframework.samples.jpetstore.domain.Product; 11 12 public class SqlMapProductDao extends SqlMapClientDaoSupport implements ProductDao { 13 14 public List getProductListByCategory(String categoryId) throws DataAccessException { 15 return getSqlMapClientTemplate().queryForList("getProductListByCategory", categoryId); 16 } 17 18 public Product getProduct(String productId) throws DataAccessException { 19 return (Product) getSqlMapClientTemplate().queryForObject("getProduct", productId); 20 } 21 22 public List searchProductList(String keywords) throws DataAccessException { 23 Object parameterObject = new ProductSearch(keywords); 24 return getSqlMapClientTemplate().queryForList("searchProductList", parameterObject); 25 } 26 27 28 29 30 public static class ProductSearch { 31 32 private List keywordList = new ArrayList (); 33 34 public ProductSearch(String keywords) { 35 StringTokenizer splitter = new StringTokenizer (keywords, " ", false); 36 while (splitter.hasMoreTokens()) { 37 this.keywordList.add("%" + splitter.nextToken() + "%"); 38 } 39 } 40 41 public List getKeywordList() { 42 return keywordList; 43 } 44 } 45 46 } 47 | Popular Tags |