admindaoimpl.java

来自「实现图书的借阅和管理信息化」· Java 代码 · 共 112 行

JAVA
112
字号
package com.moonman.libraryManager.model.daoImpl;

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

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.moonman.libraryManager.model.dao.AdminDAO;
import com.moonman.libraryManager.model.vo.Admin;

public class AdminDAOImpl extends HibernateDaoSupport implements AdminDAO {

	/**
	 * 根据管理员的名字查询管理员的信息
	 * 
	 * @param 管理员的名字或者编号
	 * @return 管理员的实体
	 */
	public Admin getAdminByAdmin(final String nameOrId) {
		Admin admin = (Admin) this.getHibernateTemplate().execute(
				new HibernateCallback() {
					public Object doInHibernate(Session session)
							throws HibernateException, SQLException {
						Query query = session
								.createQuery("from Admin where loginName=?");
						query.setString(0, nameOrId);
						return query.uniqueResult();
					}
				});
		return admin;
	}

	/**
	 * 获得所有的管理员信息
	 * 
	 * @return
	 */
	public List<Admin> getAdmins() {
		List<Admin> lst = (List<Admin>) this.getHibernateTemplate()
				.executeFind(new HibernateCallback() {
					public Object doInHibernate(Session session)
							throws HibernateException, SQLException {
						Query query = session.createQuery("from Admin");
						return query.list();
					}
				});
		return lst;
	}

	/**
	 * 添加管理员信息
	 */
	public boolean addAdmins(Admin admin) {
		Session session = this.getSession();
		session.saveOrUpdate(admin);
		return true;
	}

	/**
	 * 删除管理员信息
	 * 
	 * @param id
	 * @return
	 */
	public boolean deleteAdminById(int id) {
		Session session = this.getSession();
		Transaction tx = session.beginTransaction();
		try {
			Query query = session.createQuery("delete from Admin where id=?")
					.setInteger(0, id);
			int flag = query.executeUpdate();
			tx.commit();
			return flag > 0;
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}
		return false;
	}

	/**
	 * 根据管理员编号查询管理员的信息
	 * 
	 * @param 管理员的名字或者编号
	 * @return 管理员的实体
	 */
	public Admin getAdminById(final int id) {
		Admin admin = (Admin) this.getHibernateTemplate().execute(
				new HibernateCallback() {
					public Object doInHibernate(Session session)
							throws HibernateException, SQLException {
						Query query = session
								.createQuery("from Admin where id=?");
						query.setInteger(0, id);
						return query.uniqueResult();
					}
				});
		return admin;
	}
}

⌨️ 快捷键说明

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