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

📄 dishhibernatedao.java.svn-base

📁 这是基于spring +hibernate的项目
💻 SVN-BASE
字号:
package com.pure.dao.hibernate;

import java.sql.SQLException;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.Expression;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.HibernateCallback;

import com.pure.dao.DishDAO;
import com.pure.domain.Dish;
import com.pure.page.Page;

/**
 * 菜品DAO接口实现类
 * 
 * @author pure
 * 
 */
public class DishHibernateDAO extends BaseDao implements DishDAO {
	protected final Log logger = LogFactory.getLog(getClass());

	public void insertDish(Dish dish) throws DataAccessException {
		this.getHibernateTemplate().save(dish);
	}

	// TODO 这里需要注意一下,关于merge方法
	public void updateDish(Dish dish) throws DataAccessException {
		this.getHibernateTemplate().merge(dish);
	}

	public List getDishList(final Page page) {
		return getHibernateTemplate().executeFind(new HibernateCallback() {
			public Object doInHibernate(Session s) throws HibernateException,
					SQLException {
				Query query = s.createQuery(page.getHql());
				query.setFirstResult(page.getStartRs());
				query.setMaxResults(page.getPerPage());
				List list = query.list();
				return list;

			}
		});
	}

	public List getDishList(final int num, final String hql) {
		return getHibernateTemplate().executeFind(new HibernateCallback() {
			public Object doInHibernate(Session s) throws HibernateException,
					SQLException {
				Query query = s.createQuery(hql);
				query.setFirstResult(0);
				query.setMaxResults(num);
				List list = query.list();
				return list;

			}
		});
	}

	public List FindByDish(final Page page, final Dish dish) {
		return getHibernateTemplate().executeFind(new HibernateCallback() {
			public Object doInHibernate(Session s) throws HibernateException,
					SQLException {
				Criteria cr = s.createCriteria(Dish.class);
				cr.add(Expression.like("name", "%" + dish.getName() + "%"));
				cr.setFirstResult(page.getStartRs());
				cr.setMaxResults(page.getPerPage());
				List list = cr.list();
				return list;

			}
		});
	}

	public Dish getDish(final int id) {
		List dataList = this.getHibernateTemplate().find(
				"from Dish dish where dish.id = ?", new Long(id));
		if (dataList.size() == 0) {
			return null;
		} else {
			return (Dish) dataList.get(0);
		}
	}

	public void delDish(final int id) {
		getHibernateTemplate().executeFind(new HibernateCallback() {
			public Object doInHibernate(Session s) throws HibernateException,
					SQLException {
				Query query = s.createQuery("delete Dish where id=:id");
				query.setInteger("id", id);
				query.executeUpdate();
				return null;
			}
		});
	}

	public int getTotalByDish(final Dish dish) {
		return getHibernateTemplate().executeFind(new HibernateCallback() {
			public Object doInHibernate(Session s) throws HibernateException,
					SQLException {
				Criteria cr = s.createCriteria(Dish.class);
				cr.add(Expression.like("name", "%" + dish.getName() + "%"));
				List list = cr.list();
				return list;
			}
		}).size();
	}

	public void hot(final int id) {
		getHibernateTemplate().executeFind(new HibernateCallback() {
			public Object doInHibernate(Session s) throws HibernateException,
					SQLException {
				Query query = s
						.createQuery("update Dish set hot = hot+1 where id=:id");
				query.setInteger("id", id);
				query.executeUpdate();
				return null;
			}
		});
	}

}

⌨️ 快捷键说明

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