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

📄 catalogdao.java

📁 基于Struts的网络商店源码。使用Hibernate技术
💻 JAVA
字号:
package com.sush.webstore.store.data.dao.hibernate;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.hibernate.Hibernate;
import org.hibernate.Session;

import com.sush.webstore.store.data.dao.ICatalogDAO;
import com.sush.webstore.store.data.dao.hibernate.util.HibernateUtil;
import com.sush.webstore.store.domain.ICatalog;
import com.sush.webstore.store.domain.ICategory;
import com.sush.webstore.store.domain.beans.Catalog;
import com.sush.webstore.store.domain.beans.Category;

public class CatalogDAO implements ICatalogDAO {

	/*
	 * @param catalog @return
	 */
	public boolean addCatalog(ICatalog catalog) {

		if (catalog == null)
			return false;

		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		try {
			session.beginTransaction();
			session.save(catalog);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.getTransaction().commit();
		}
		return true;
	}

	/*
	 * @param catalog @return
	 */
	public boolean addCategory(ICatalog catalog, ICategory category) {

		if (catalog == null || category == null)
			return false;

		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		try {
			session.beginTransaction();
			session.update(catalog);
			((Catalog) catalog).addCategory((Category) category);
			session.save(category);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.getTransaction().commit();
		}
		return true;
	}

	/*
	 * @param id @return
	 */
	public ICatalog getCatalog(long id) {

		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		ICatalog catalog = null;
		try {
			session.beginTransaction();

			catalog = (ICatalog) session.get(Catalog.class, new Long(id));
			if (catalog == null)
				return null;

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.getTransaction().commit();
		}
		return catalog;
	}

	/*
	 * @return
	 */
	public List<ICatalog> getCatalogs() {

		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		List<ICatalog> list = null;
		try {
			session.beginTransaction();
			list = session.createQuery("from Catalog").list();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.getTransaction().commit();
		}
		return list;
	}

	/*
	 * @param catalog @return
	 */
	public Set<ICategory> getCategories(ICatalog catalog) {

		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		Set<Category> categories = null;

		try {
			session.beginTransaction();
			session.refresh(catalog);
			Hibernate.initialize(((Catalog) catalog).getCategories());
			categories = ((Catalog) catalog).getCategories();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.getTransaction().commit();
		}

		if (categories == null)
			return null;
		return new HashSet<ICategory>(categories);
	}

	/*
	 * @param catalog @return
	 */
	public boolean removeCatalog(ICatalog catalog) {

		if (catalog == null)
			return false;

		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		try {
			session.beginTransaction();
			session.delete(catalog);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.getTransaction().commit();
		}
		return true;
	}

	/*
	 * @param category @return
	 */
	public boolean removeCategory(ICatalog catalog, ICategory category) {

		if (category == null || catalog == null)
			return false;

		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		try {
			session.beginTransaction();
			session.update(catalog);
			((Catalog) catalog).removeCategory((Category) category);
			session.delete(category);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.getTransaction().commit();
		}
		return true;
	}

	/*
	 * @param catalog @return
	 */
	public boolean updateCatalog(ICatalog catalog) {

		if (catalog == null)
			return false;

		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		try {
			session.beginTransaction();
			session.update(catalog);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.getTransaction().commit();
		}
		return true;
	}
}

⌨️ 快捷键说明

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