You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
2.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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();
}
}