⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usermanagerimpl.java

📁 基于hibernate,struts,spring三大框架的在线短信系统
💻 JAVA
字号:
package com.bjsxt.messages.managers;

import java.util.Date;
import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.bjsxt.messages.MessageException;
import com.bjsxt.messages.model.User;

public class UserManagerImpl extends HibernateDaoSupport implements UserManager {

	public void createUser(User user) {
		user.setCreateTime(new Date());
		getHibernateTemplate().save(user);
	}

	public void deleteUsers(int[] ids) {
		if(ids == null || ids.length == 0){
			return;
		}
		for(int i=0; i<ids.length; i++){
			getHibernateTemplate().delete(
				getHibernateTemplate().load(User.class, ids[i])
					);
		}
	}

	public List<User> findAll(int currentUserId) {
		
		//HibernateTemplate的find方法,封装了session.createQuery()的操作,我们可以直接调用find方法,
		//如果传递的HQL语句带动态参数的话,可以直接在第二个参数中传递这些值进去就可以了!
		return getHibernateTemplate().find(
				"from User u where u.id <> ? ", //第一个参数是HQL语句 
				currentUserId //第二个参数是HQL语句中需要传入的参数值
			);
	}

	public User findUserById(int userId) {
		
		return (User)getHibernateTemplate().load(User.class, userId);
	}

	public User searchUser(String name) {
		
		//对于那些不能通过HibernateTemplate来操作的数据,我们可以通过调用getSession()来使用Hibernate底层
		//API来进行操作
		return (User)getSession()
			.createQuery("from User where name = ?")
			.setParameter(0, name)
			.uniqueResult();
	}

	public User validate(String username, String password)
			throws MessageException {
		List users = getHibernateTemplate().find("from User where account = ?",username);
		if(users == null || users.size() == 0){
			throw new MessageException("login.error.user_not_found","没有找到相应得用户");
		}
		User user = (User)users.get(0);
		if(!user.getPassword().equals(password)){
			throw new MessageException("login.error.invalid_password","输入密码错误");
		}
		return user;
	}

}

⌨️ 快捷键说明

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