13.首页热门商品显示

1、建表

创建二级分类的表:
CREATE TABLE `categorysecond` (
  `csid` int(11) NOT NULL AUTO_INCREMENT,
  `csname` varchar(255) DEFAULT NULL,
  `cid` int(11) DEFAULT NULL,
  PRIMARY KEY (`csid`),
  KEY `FK936FCAF21DB1FD15` (`cid`),
  CONSTRAINT `FK936FCAF21DB1FD15` FOREIGN KEY (`cid`) REFERENCES `category` (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8;
创建商品表:
CREATE TABLE `product` (
  `pid` int(11) NOT NULL AUTO_INCREMENT,
  `pname` varchar(255) DEFAULT NULL,
  `market_price` double DEFAULT NULL,
  `shop_price` double DEFAULT NULL,
  `image` varchar(255) DEFAULT NULL,
  `num` int(11) DEFAULT NULL,
  `pdesc` varchar(255) DEFAULT NULL,
  `is_hot` int(11) DEFAULT NULL,
  `pdate` datetime DEFAULT NULL,
  `csid` int(11) DEFAULT NULL,
  PRIMARY KEY (`pid`),
  KEY `FKED8DCCEFB9B74E02` (`csid`),
  CONSTRAINT `FKED8DCCEFB9B74E02` FOREIGN KEY (`csid`) REFERENCES `categorysecond` (`csid`)
) ENGINE=InnoDB AUTO_INCREMENT=74 DEFAULT CHARSET=utf8;

2、创建包及类

Product.java

package cn.xdy.shop.product.vo;

import java.util.Date;

public class Product {
	private Integer pid;
	private String pname;
	private Double market_price;
	private Double shop_price;
	private String image;
	private String pdesc;
	private Integer is_hot;
	private Date pdate;

	// 二级分类ID
	public Integer getPid() {
		return pid;
	}

	public void setPid(Integer pid) {
		this.pid = pid;
	}

	public String getPname() {
		return pname;
	}

	public void setPname(String pname) {
		this.pname = pname;
	}

	public String getImage() {
		return image;
	}

	public void setImage(String image) {
		this.image = image;
	}

	public String getPdesc() {
		return pdesc;
	}

	public void setPdesc(String pdesc) {
		this.pdesc = pdesc;
	}

	public Double getMarket_price() {
		return market_price;
	}

	public void setMarket_price(Double market_price) {
		this.market_price = market_price;
	}

	public Double getShop_price() {
		return shop_price;
	}

	public void setShop_price(Double shop_price) {
		this.shop_price = shop_price;
	}

	public Integer getIs_hot() {
		return is_hot;
	}

	public void setIs_hot(Integer is_hot) {
		this.is_hot = is_hot;
	}

	public Date getPdate() {
		return pdate;
	}

	public void setPdate(Date pdate) {
		this.pdate = pdate;
	}

}

Product.hbm.xml




	
		
			
		
		
		
		
		
		
		
		
	

将Product.hbm.xml加入到applicationContext.xml中


		
			
				cn/xdy/shop/user/vo/User.hbm.xml
				cn/xdy/shop/category/vo/Category.hbm.xml
				cn/xdy/shop/product/vo/Product.hbm.xml
			
		

IndexAction.java中查询热门商品,将查询到的数据保存到值栈中。

/**
	 * 执行访问首页的方法
	 */
	public String execute() throws Exception {
		// 首页一级分类的显示
		List cList = categoryService.findAll();
		ActionContext.getContext().getSession().put("cList", cList);

		// 首页热门商品显示
		List hlist = productService.findHot();
		ActionContext.getContext().getValueStack().set("hlist", hlist);
		return "index";
	}

ProductService.java

package cn.xdy.shop.product.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import cn.xdy.shop.product.dao.ProductDao;
import cn.xdy.shop.product.vo.Product;

@Transactional
public class ProductService {
	private ProductDao productDao;

	public void setProductDao(ProductDao productDao) {
		this.productDao = productDao;
	}

	public List findHot() {
		return productDao.findHot();
	}
	
	
}

ProductDao.java

package cn.xdy.shop.product.dao;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import cn.xdy.shop.product.vo.Product;

public class ProductDao extends HibernateDaoSupport{

	public List findHot() {
		DetachedCriteria criteria = DetachedCriteria.forClass(Product.class);
		criteria.add(Restrictions.eq("is_hot", 1));
		criteria.addOrder(Order.desc("pdate"));
		List list = this.getHibernateTemplate().findByCriteria(criteria, 0, 10);
		return list;
	}

}

完成Service和Dao的配置


		
	


		
	

indexAction中注入productService


	
		
		
	

3、效果图

13.首页热门商品显示_第1张图片

你可能感兴趣的:(商城项目)