compass_project
Return to Gallery | Original Image
需要引入compass的相关jar包:
compass-2.1.0.jar
compass-index-patch.jar
lucene-core.jar
lucene-highlighter.jar
paoding-analysis.jar
=======================================================
建表语句:
1 CREATE TABLE `product` (
2 `id` int(11) NOT NULL AUTO_INCREMENT,
3 `name` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
4 `price` double(6,0) DEFAULT NULL,
5 `brand` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
6 `description` varchar(2000) COLLATE utf8_unicode_ci DEFAULT NULL,
7 PRIMARY KEY (`id`)
8 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
注:这是我在mySQL中建立的product表,与本项目的表有一个地方有区别:id的类型
项目中的是varchar(40),用的uuid的策略。更详细的信息请看:/compass1/src/com/v512/example/model/Product.hbm.xml
=======================================================
/compass1/src/com/v512/example/action/ProductAction.java
1 package com.v512.example.action;
2
3 import java.util.List;
4
5 import com.opensymphony.xwork2.ActionSupport;
6 import com.v512.example.model.Product;
7 import com.v512.example.service.ProductManager;
8 import org.apache.struts2.ServletActionContext;
9
10 public class ProductAction extends ActionSupport {
11
12 private static final long serialVersionUID = 3795048906805728732L;
13 private ProductManager productManager;
14 private Product product;
15 private String queryString;
16
17 public void setQueryString(String queryString) {
18 this.queryString = queryString;
19 }
20
21 public Product getProduct() {
22 return product;
23 }
24
25 public void setProduct(Product product) {
26 this.product = product;
27 }
28
29 public void setProductManager(ProductManager productManager) {
30 this.productManager = productManager;
31 }
32
33 public String insert() {
34 productManager.insertProduct(product);
35 return SUCCESS;
36 }
37
38 public String search() {
39 List results = productManager.searchProducts(queryString);
40 System.out.println(results.size());
41 ServletActionContext.getRequest()
42 .setAttribute("searchresults", results);
43 return SUCCESS;
44 }
45
46 }
/compass1/src/com/v512/example/dao/ProductDao.java
1 package com.v512.example.dao;
2
3 import java.util.List;
4
5 import com.v512.example.model.Product;
6
7 public interface ProductDao {
8 public void create(Product p);
9
10 public Product getProduct(String id);
11
12 public List getProducts();
13
14 public void update(Product product);
15
16 public void remove(String id);
17
18 }
/compass1/src/com/v512/example/dao/hibernate/ProductDaoHibernate.java
1 package com.v512.example.dao.hibernate;
2
3 import java.util.List;
4
5 import com.v512.example.dao.ProductDao;
6 import com.v512.example.model.Product;
7 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
8
9 public class ProductDaoHibernate extends HibernateDaoSupport implements
10 ProductDao {
11
12 public void create(Product p) {
13 getHibernateTemplate().save(p);
14
15 }
16
17 public Product getProduct(String id) {
18 return (Product) getHibernateTemplate().get(Product.class, id);
19 }
20
21 public List getPr