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

📄 userdaoimpl.java

📁 基于Ajax的WebOS————PhoneShow案例
💻 JAVA
字号:
package com.cownew.phoneshow.basedata.user;

import java.util.List;

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class UserDAOImpl extends HibernateDaoSupport implements IUserDAO
{
	public void createNew(UserInfo value)
	{
		// 判断用户名是否为空
		if (StringUtils.isEmpty(value.getUserId()))
		{
			throw new UserException(UserException.USERIDEMPTY);
		}
		// 判断用户是否存在,如果存在则抛出异常
		if (userIdExists(value.getUserId()))
		{
			throw new UserException(UserException.USERTEXISTS);
		}
		getHibernateTemplate().save(value);
	}

	public void changePassword(String userId, String oldPassword,
			String password)
	{
		// 不能使用load,因为load假定有这个对象
		UserInfo user = (UserInfo) getHibernateTemplate().get(UserInfo.class,
				userId);
		if (user == null)
		{
			throw new UserException(UserException.USERNOTEXISTS,
					new String[] { userId });
		}
		// 计算用户输入的密码的散列值是否和数据库中存储的一致
		if (!DigestUtils.md5Hex(oldPassword).equals(user.getPassword()))
		{
			throw new UserException(UserException.OLDPASSWORDERROR);
		}
		// 计算新密码的散列值
		String newMd5 = DigestUtils.md5Hex(password);
		user.setPassword(newMd5);
		getHibernateTemplate().update(user);
	}

	public boolean isCorrect(String userId, String password)
	{
		List list = getHibernateTemplate().find(
				"from UserInfo user where user.userId=?", userId);
		// 如果指定用户名的用户不存在则抛出异常
		if (list.size() <= 0)
		{
			throw new UserException(UserException.USERNOTEXISTS,
					new String[] { userId });
		}
		UserInfo user = (UserInfo) list.get(0);
		// 校验散列值是否正确
		if (!DigestUtils.md5Hex(password).equals(user.getPassword()))
		{
			return false;
		}
		return true;
	}

	public boolean userIdExists(String userId)
	{
		List list = getHibernateTemplate().find(
				"from UserInfo user where user.userId=?", userId);
		return list.size() > 0;
	}

	public UserInfo loadById(String id)
	{
		return (UserInfo) getHibernateTemplate().load(UserInfo.class, id);
	}

	public UserInfo loadByUserId(String userId)
	{
		List list = getHibernateTemplate().find(
				"from UserInfo user where user.userId=?", userId);
		return (UserInfo) list.get(0);
	}

	public void updateWallpaper(String userId, String wallpaper)
	{
		UserInfo user = loadByUserId(userId);
		user.setWallpaper(wallpaper);
		getHibernateTemplate().update(user);
	}
}

⌨️ 快捷键说明

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