package cn.itbaizhan.dao.impl; import java.util.List; import javax.annotation.Resource; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.stereotype.Component; import cn.itbaizhan.dao.AdminDao; import cn.itbaizhan.po.Admin; // 实现AdminDao接口的类,用于管理员数据操作 @Component("adminDaoImpl") public class AdminDaoImpl implements AdminDao { // 使用spring对Hibernate的模版 HibernateTemplate @Resource(name="hibernateTemplate") private HibernateTemplate hibernateTemplate; // 删除管理员 public void delete(Admin admin) { hibernateTemplate.delete(admin); } // 获取所有管理员列表 @SuppressWarnings("unchecked") public List findAllAdmins() { String hql = "from Admin"; return (List)hibernateTemplate.find(hql); } // 根据ID查找管理员 public Admin findAdminById(int id) { Admin admin = (Admin)hibernateTemplate.get(Admin.class, id); return admin; } // 保存管理员 public void save(Admin admin) { System.out.println(admin); hibernateTemplate.save(admin); } // 更新管理员信息 public void update(Admin admin) { hibernateTemplate.update(admin); } // 获取HibernateTemplate实例 public HibernateTemplate getHibernateTmeplate() { return hibernateTemplate; } // 设置HibernateTemplate实例 public void setHibernateTmeplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } // 根据用户名和密码获取用户 public Admin getUserByLoginNameAndPassword(String username, String password) { //String[] values={username, password}; //String hql = "from User u where u.username=? and u.password=?"; //(List)hibernateTemplate.find(hql, values); // 输出用户名信息 System.out.println("用户名:"+username); // 根据用户名和密码查询管理员信息,并返回唯一结果 return (Admin) hibernateTemplate.getSessionFactory().openSession().createQuery( "from Admin a where a.username=? and a.password=?").setParameter(0, username).setParameter(1, password).uniqueResult(); } }