admindaoimpl.java

来自「java学习的必要的资料,servlet的说明很好」· Java 代码 · 共 129 行

JAVA
129
字号
package com.estore.struts.daoimpl;

import java.util.Collection;
import java.util.LinkedHashSet;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

import com.estore.struts.dao.AdminDao;
import com.estore.struts.entity.Admin;
import com.estore.struts.utils.HibernateSessionFactory;
import com.estore.struts.utils.StoreException;

public class AdminDaoImpl implements AdminDao {
	
	
	public void delete(Integer adminId) throws Exception {
		Admin admin=selectAdminById(adminId);
		Transaction tx = null;
		Session session = null;
		try {
			session = HibernateSessionFactory.getSession();
			tx = session.beginTransaction();
			session.delete(admin);
			tx.commit();
		} catch (Exception ex) {
			tx.rollback();
			throw new StoreException(ex);
		}finally {
			session.close();
		}

	}

	public void insert(Admin admin) throws Exception {
		Transaction tx = null;
		Session session = null;
		try {
			session = HibernateSessionFactory.getSession();
			tx = session.beginTransaction();
			session.save(admin);
			tx.commit();
		} catch (Exception ex) {
			tx.rollback();
			throw new StoreException(ex);
		}finally {
			session.close();
		}

	}

	public Admin selectAdminById(Integer adminId) throws Exception {
		Transaction tx = null;
		Session session = null;
		Admin admin=null;
		try {
			session = HibernateSessionFactory.getSession();
			tx = session.beginTransaction();
			admin=(Admin)session.createQuery("from Admin a left join fetch a.modules where a.adminid=:adminId ").setInteger("adminId", adminId).uniqueResult();
			tx.commit();
		} catch (Exception ex) {
			tx.rollback();
			throw new StoreException(ex);
		}finally {
			session.close();
		}
		
		return admin;
	}

	public Collection selectAll() throws Exception {
		Transaction tx = null;
		Session session = null;
		Collection admins=null;
		try {
			session = HibernateSessionFactory.getSession();
			tx = session.beginTransaction();
			admins=session.createQuery("from Admin a left join fetch a.modules ").list();
			tx.commit();
		} catch (Exception ex) {
			tx.rollback();
			throw new StoreException(ex);
		}finally {
			session.close();
		}
		
		return new LinkedHashSet(admins);

	}

	public void update(Admin admin) throws Exception {
		Transaction tx = null;
		Session session = null;
		try {
			session = HibernateSessionFactory.getSession();
			tx = session.beginTransaction();
			session.saveOrUpdate(admin);
			tx.commit();
		} catch (Exception ex) {
			tx.rollback();
			throw ex;
		}finally {
			session.close();
		}
		
	}

	public Admin selectAdminByName(String name) throws Exception {
		Transaction tx = null;
		Session session = null;
		Admin admin=null;
		try {
			session = HibernateSessionFactory.getSession();
			tx = session.beginTransaction();
			admin=(Admin)session.createQuery("from Admin a left join fetch a.modules where a.adminname=:name ").setString("name", name).uniqueResult();
			tx.commit();
		} catch (Exception ex) {
			tx.rollback();
			throw new StoreException(ex);
		}finally {
			session.close();
		}
		
		return admin;
	}

}

⌨️ 快捷键说明

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