⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 productdao.java

📁 本系统基本完善了CRM管理系统的各个模块
💻 JAVA
字号:
package com.accp.dao.jb_sale.Imp;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Criteria;
import org.hibernate.LockMode;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Projection;
import org.hibernate.criterion.Projections;
import org.hibernate.impl.CriteriaImpl;

import com.accp.dao.jb_sale.Inf.IProductDAO;
import com.accp.entity.jb_crm_team0.BasDict;
import com.accp.entity.jb_sale.Product;
import com.accp.struts.form.BasDictForm;
import com.accp.struts.form.ProductForm;
import com.accp.util.PageResult;

/**
 * A data access object (DAO) providing persistence and search support for
 * Product entities. Transaction control of the save(), update() and delete()
 * operations can directly support Spring container-managed transactions or they
 * can be augmented to handle user-managed Spring transactions. Each of these
 * methods provides additional information for how to configure it for the
 * desired type of transaction control.
 * 
 * @see com.accp.entity.jb_sale.Product
 * @author MyEclipse Persistence Tools
 */

public class ProductDAO extends HibernateDaoSupport implements IProductDAO {
	private static final Log log = LogFactory.getLog(ProductDAO.class);

	protected void initDao() {
		// do nothing
	}
	public void save(Product transientInstance) {
		log.debug("saving Product instance");
		try {
			getHibernateTemplate().save(transientInstance);
			log.debug("save successful");
		} catch (RuntimeException re) {
			log.error("save failed", re);
			throw re;
		}
	}

	public PageResult findAll(Map paramMap) {
		PageResult pgr = new PageResult();
		String start = (String) paramMap.get("start");
		String limit = (String) paramMap.get("limit");

		String name = (String) paramMap.get("prod_name");
		String prodtype = (String) paramMap.get("prod_type");
		String prodBatch = (String) paramMap.get("prodBatch");

		try {
			Criteria c = getSession().createCriteria(Product.class);
			if (StringUtils.isNotEmpty(name)) {
				c.add(Expression.like("prodName", "%" + name + "%"));
			}
			if (StringUtils.isNotEmpty(prodtype)) {
				c.add(Expression.like("prodType", "%" + prodtype + "%"));
			}
			if (StringUtils.isNotEmpty(prodBatch)) {
				c.add(Expression.like("prodBatch", "%" + prodBatch + "%"));
			}

			// 总条数
			Projection entityProjection = ((CriteriaImpl) c).getProjection();
			c.setProjection(Projections.rowCount()).uniqueResult();
			int rowCount = ((Number) c.uniqueResult()).intValue();
			pgr.setRowCount(rowCount);
			c.setProjection(entityProjection);
			// 分页
			if (start != null) {
				c.setFirstResult(Integer.parseInt(start));
			}
			if (limit != null) {
				c.setMaxResults(Integer.parseInt(limit));
			}
			List<Product> list = c.list();
			List<ProductForm> fList = new ArrayList<ProductForm>();
			ProductForm productForm = null;
			for (Product product : list) {
				productForm = new ProductForm();
				productForm.setProdId(product.getProdId());
				productForm.setProdName(product.getProdName());
				productForm.setProdType(product.getProdType());
				productForm.setProdBatch(product.getProdBatch());
				productForm.setProdUnit(product.getProdUnit());
				productForm.setProdPrice(product.getProdPrice());
				productForm.setProdMemo(product.getProdMemo());
				fList.add(productForm);
			}
			pgr.setData(fList);

		} catch (RuntimeException re) {
			log.error("find all failed", re);
			throw re;
		}
		return pgr;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#delete(com.accp.entity.jb_sale.Product)
	 */
	public void delete(Product persistentInstance) {
		log.debug("deleting Product instance");
		try {
			getHibernateTemplate().delete(persistentInstance);
			log.debug("delete successful");
		} catch (RuntimeException re) {
			log.error("delete failed", re);
			throw re;
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#findById(java.lang.Long)
	 */
	public Product findById(java.lang.Long id) {
		log.debug("getting Product instance with id: " + id);
		try {
			Product instance = (Product) getHibernateTemplate().get(
					"com.accp.entity.jb_sale.Product", id);
			return instance;
		} catch (RuntimeException re) {
			log.error("get failed", re);
			throw re;
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#findByExample(com.accp.entity.jb_sale.Product)
	 */
	public List findByExample(Product instance) {
		log.debug("finding Product instance by example");
		try {
			List results = getHibernateTemplate().findByExample(instance);
			log.debug("find by example successful, result size: "
					+ results.size());
			return results;
		} catch (RuntimeException re) {
			log.error("find by example failed", re);
			throw re;
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#findByProperty(java.lang.String,
	 *      java.lang.Object)
	 */
	public List findByProperty(String propertyName, Object value) {
		log.debug("finding Product instance with property: " + propertyName
				+ ", value: " + value);
		try {
			String queryString = "from Product as model where model."
					+ propertyName + "= ?";
			return getHibernateTemplate().find(queryString, value);
		} catch (RuntimeException re) {
			log.error("find by property name failed", re);
			throw re;
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#findByProdName(java.lang.Object)
	 */
	public List findByProdName(String prodName) {
		Criteria c = getSession().createCriteria(Product.class);
		c.add(Expression.like("prodName", "%" + prodName + "%"));
		return c.list();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#findByProdType(java.lang.Object)
	 */
	public List findByProdType(Object prodType) {
		return findByProperty(PROD_TYPE, prodType);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#findByProdBatch(java.lang.Object)
	 */
	public List findByProdBatch(Object prodBatch) {
		return findByProperty(PROD_BATCH, prodBatch);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#findByProdUnit(java.lang.Object)
	 */
	public List findByProdUnit(Object prodUnit) {
		return findByProperty(PROD_UNIT, prodUnit);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#findByProdPrice(java.lang.Object)
	 */
	public List findByProdPrice(Object prodPrice) {
		return findByProperty(PROD_PRICE, prodPrice);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#findByProdMemo(java.lang.Object)
	 */
	public List findByProdMemo(Object prodMemo) {
		return findByProperty(PROD_MEMO, prodMemo);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#findAll()
	 */
	public List findAll() {
		log.debug("finding all Product instances");
		try {
			String queryString = "from Product";
			return getHibernateTemplate().find(queryString);
		} catch (RuntimeException re) {
			log.error("find all failed", re);
			throw re;
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#merge(com.accp.entity.jb_sale.Product)
	 */
	public Product merge(Product detachedInstance) {
		log.debug("merging Product instance");
		try {
			Product result = (Product) getHibernateTemplate().merge(
					detachedInstance);
			log.debug("merge successful");
			return result;
		} catch (RuntimeException re) {
			log.error("merge failed", re);
			throw re;
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#attachDirty(com.accp.entity.jb_sale.Product)
	 */
	public void attachDirty(Product instance) {
		log.debug("attaching dirty Product instance");
		try {
			getHibernateTemplate().saveOrUpdate(instance);
			log.debug("attach successful");
		} catch (RuntimeException re) {
			log.error("attach failed", re);
			throw re;
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.accp.dao.jb_sale.Inf.IProductDAO#attachClean(com.accp.entity.jb_sale.Product)
	 */
	public void attachClean(Product instance) {
		log.debug("attaching clean Product instance");
		try {
			getHibernateTemplate().lock(instance, LockMode.NONE);
			log.debug("attach successful");
		} catch (RuntimeException re) {
			log.error("attach failed", re);
			throw re;
		}
	}

	public static IProductDAO getFromApplicationContext(ApplicationContext ctx) {
		return (IProductDAO) ctx.getBean("ProductDAO");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -