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

📄 usermanager.java

📁 SpringSide开源代码
💻 JAVA
字号:
package org.springside.examples.miniservice.service.user;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import org.springside.examples.miniservice.entity.user.Role;
import org.springside.examples.miniservice.entity.user.User;
import org.springside.modules.orm.hibernate.SimpleHibernateTemplate;

/**
 * 整个User模块内的业务逻辑Facade类.
 * 组合user,role两者的DAO.DAO均直接使用泛型的SimpleHibernateTemplate.
 * 使用Spring的@Service/@Autowired 指定IOC设置.
 * 使用Spring的@Transactional指定事务管理.
 * 
 * @author calvin
 */
@Service
@Transactional
public class UserManager {

	private static String AUTH_HQL = "select count(u) from User u where u.loginName=? and u.password=?";

	private SimpleHibernateTemplate<User, Long> userDao;

	private SimpleHibernateTemplate<Role, Long> roleDao;

	@Autowired
	public void setSessionFactory(SessionFactory sessionFactory) {
		userDao = new SimpleHibernateTemplate<User, Long>(sessionFactory, User.class);
		roleDao = new SimpleHibernateTemplate<Role, Long>(sessionFactory, Role.class);
	}

	@Transactional(readOnly = true)
	public User getUser(Long id) {
		return userDao.get(id);
	}

	@Transactional(readOnly = true)
	public List<User> getAllUser() {
		return userDao.findAll();
	}

	@Transactional(readOnly = true)
	public List<Role> getAllRole() {
		return roleDao.findAll();
	}

	public void saveUser(User user) {
		userDao.save(user);
	}

	public void deleteUser(User user) {
		userDao.delete(user);
	}

	/**
	 * 验证用户名密码. 
	 * 
	 * @return 验证通过时返回true.用户名或密码错误返回false.
	 */
	@Transactional(readOnly = true)
	public boolean auth(String loginName, String password) {
		if (!StringUtils.hasText(loginName) || !StringUtils.hasText(password))
			return false;

		return (userDao.findLong(AUTH_HQL, loginName, password) == 1);
	}
}

⌨️ 快捷键说明

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