1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 /***
18 * User: Clinton Begin
19 * Date: Jul 13, 2003
20 * Time: 7:20:54 PM
21 */
22 package com.ibatis.jpetstore.persistence.sqlmapdao;
23
24 import com.ibatis.common.util.PaginatedList;
25 import com.ibatis.dao.client.DaoManager;
26 import com.ibatis.jpetstore.domain.Product;
27 import com.ibatis.jpetstore.persistence.iface.ProductDao;
28
29 import java.util.ArrayList;
30 import java.util.List;
31 import java.util.StringTokenizer;
32
33 public class ProductSqlMapDao extends BaseSqlMapDao implements ProductDao {
34
35 public ProductSqlMapDao(DaoManager daoManager) {
36 super(daoManager);
37 }
38
39 public PaginatedList getProductListByCategory(String categoryId) {
40 return queryForPaginatedList("getProductListByCategory", categoryId, PAGE_SIZE);
41 }
42
43 public Product getProduct(String productId) {
44 return (Product) queryForObject("getProduct", productId);
45 }
46
47 public PaginatedList searchProductList(String keywords) {
48 Object parameterObject = new ProductSearch(keywords);
49 return queryForPaginatedList("searchProductList", parameterObject, PAGE_SIZE);
50 }
51
52
53
54 public static class ProductSearch {
55 private List keywordList = new ArrayList();
56
57 public ProductSearch(String keywords) {
58 StringTokenizer splitter = new StringTokenizer(keywords, " ", false);
59 while (splitter.hasMoreTokens()) {
60 keywordList.add("%" + splitter.nextToken() + "%");
61 }
62 }
63
64 public List getKeywordList() {
65 return keywordList;
66 }
67 }
68
69 }