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

📄 userdaoimp.java

📁 struts+spring+hibernate 集成的例子
💻 JAVA
字号:
package com.lqk.dao;

import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.criterion.Projections;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.lqk.vo.Users;

public class UserDAOImp extends HibernateDaoSupport implements UserDAO{
//	private SessionFactory sessionFactory;
	static Logger logger = Logger.getLogger(UserDAOImp.class);
	private static final String hql = "from Users as u where u.username = ? ";
	private static final String findByID = "from Users as u where u.id = ? ";
	private static final String findAllUser = "from Users as u";
	
	/**
	 * Valid user
	 */
	public boolean isValidUser(String username) {
		List usersList = this.getHibernateTemplate().find(hql,username);
		if(usersList != null && usersList.size()>0){
			return true;
		}
		
		return false;
	}
	
	/**
	 * valid password
	 */
	public boolean isValidPwd(String name, String pwd){
		List usersList = this.getHibernateTemplate().find(hql,name);
		if(usersList != null && usersList.size()>0){
			Users usersVO = (Users)usersList.get(0);
			String dbPwd = usersVO.getUserpassword();
			if(pwd.equals(dbPwd)){
				return true;
			}
 		}
		return false;
	}
	
	/**
	 * test insert
	 * @param regInfo
	 */
	public int insertUser(Users user) {
		try{
//			for(int i=30000; i<100000; i++){
//				Users user2 = new Users();
//				user2.setUsername("test" +i);
//				user2.setUserpassword("1");
//				user2.setUsermail("1234@163.com");
//				this.getHibernateTemplate().save(user2);
//				logger.info(">>>>>>>>>>>>>>>Insert OK !!!" + "test" +i);
//			}
			this.getHibernateTemplate().save(user);
		}catch(DataAccessException e){
			logger.debug(">>>>>>>>>>>>>>>Exception !!!!!!!!!!!!2222222"+ e.getMessage());
		}
		return 1;
	}
	
	/**
	 * 
	 * @param username
	 * @return
	 */
	public Users findUserByUserName(String username){
		if(username == null){
		}
		List usersList = this.getHibernateTemplate().find(hql,username);
		if(usersList != null && usersList.size()>0){
			return(Users)usersList.get(0);
		}
		return null;
	}
	
	/**
	 * get all users
	 */
	 public List findAllUsers(){
		return this.getHibernateTemplate().find(findAllUser);
	 }

	 /**
	  * del user
	  */
	public void delUser(Integer id) {
		Users users = (Users)this.getHibernateTemplate().load(Users.class,id);
		this.getHibernateTemplate().delete(users);
	}
	
	/**
	 * 
	 * @param id
	 * @return
	 */
	public Users findUsers(Integer id){
		List user = this.getHibernateTemplate().find(findByID,id);
		if(user !=null && user.size()>0){
			return (Users)user.get(0);
		}
		return null;
	}

	/**
	 * 
	 * @param user
	 */
	public void update(Users user) {
		this.getHibernateTemplate().update(user);
	}
	
	public List findUsersForPage(int startIndex, int pagesize) throws HibernateException{
//		Query q =this.getSession().createQuery("from Users as u order by u.id desc");
//		q.setFirstResult(startIndex);
//		q.setMaxResults(pagesize); //100 records 3.75s  || 1000 records 4.297s
		
		Criteria q = getSession().createCriteria(Users.class);
		q.setFirstResult(startIndex);
		q.setMaxResults(pagesize);//100 records 3.594s  || 1000records 4.094s
		return q.list(); 
	}
	
	public int getAllRow(){
		//10万条记录 读取他的总纪录数
		Criteria criteria = getSession().createCriteria(Users.class); 
		criteria.setProjection(Projections.rowCount()); 
		List results = criteria.list(); 
		return Integer.parseInt(results.get(0).toString());  //3.453s
//		List list = this.getHibernateTemplate().loadAll(Users.class); //32.593s
//		List list = this.getHibernateTemplate().find("from Users u"); //33.373s
//		return list.size();
		}
}

⌨️ 快捷键说明

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