|
|
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<Admin> findAllAdmins() {
|
|
|
String hql = "from Admin";
|
|
|
return (List<Admin>)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<User>)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();
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
} |