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

📄 usercodedaoimpl.java

📁 这是一个用java三层框架做的ISS学员管理系统
💻 JAVA
字号:
package com.isoftstone.isscrmweb.web.dao.system;

import java.sql.SQLException;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.pontifex.orm.hibernate3.DaoImpl;
import org.pontifex.orm.hibernate3.PageInfoQueryCallback;
import org.pontifex.web.mapping.PageInfo;
import org.springframework.orm.hibernate3.HibernateCallback;

import com.isoftstone.isscrmweb.web.mapping.Userandrole;
import com.isoftstone.isscrmweb.web.mapping.Userinfo;

/**
 * 
 * @author Songzou
 *
 */
public class UserCodeDaoImpl extends DaoImpl implements UserCodeDao {

	/**
	 * 一个分页查询具体实现方法
	 */
	public PageInfo getUserCodeList(final Userinfo userinfo) {	
		return pageInfoLookup(userinfo,new PageInfoQueryCallback(){
			
			public void doInPageInfoString(PageInfoBuffer hql) {
				hql.append(" select new Userinfo(u.userid as userid,u.usercode as usercode,u.username as username,u.registertime as registertime ,u.state as state,r.rolename as rolename) ");
				hql.append(" from Userinfo as u left outer join u.userandroles as ur left outer join ur.roleinfo as r where u.userid is not null ");
				if(userinfo.getUsercode()!=null&&userinfo.getUsercode().length()>0){
					hql.append(" and u.usercode like :usercode ");
				}
				if(userinfo.getRolename()!=null&&userinfo.getRolename().length()>0){
					hql.append(" and r.rolename like :rolename ");
				}
				if(userinfo.getUsername()!=null&&userinfo.getUsername().length()>0){
					hql.append(" and u.username like :username ");
				}
				if(userinfo.getState()!=null&&userinfo.getState().length()>0){
					hql.append(" and u.state=:state ");
				}
				if(userinfo.getTime_from()!=null){
					hql.append(" and u.registertime >= :time_from ");
				}
				if(userinfo.getTime_to()!=null){
					hql.append(" and u.registertime <= :time_to ");
				}
				hql.append(" order by u.registertime desc");		
			}
			
			public void doInPageInfoValues(PageInfoMapValues values) {
				values.put("usercode", userinfo.getUsercode(), PageInfoQueryCallback.LIKE);
				values.put("rolename", userinfo.getRolename(), PageInfoQueryCallback.LIKE);
				values.put("username", userinfo.getUsername(), PageInfoQueryCallback.LIKE);
				values.put("state", userinfo.getState(), PageInfoQueryCallback.EQ);
				values.put("time_from", userinfo.getTime_from());
				values.put("time_to", userinfo.getTime_to());
			}
			
		});
	}

	public Userinfo getUserCodeDetailByCode(final Userinfo userinfo) {
		return (Userinfo) this.getHibernateTemplate().execute(new HibernateCallback(){

			public Object doInHibernate(Session session) throws HibernateException, SQLException {
				Query query = session.createQuery("from Userinfo as u where u.usercode=:usercode");
				query.setString("usercode", userinfo.getUsercode());
				return query.uniqueResult();
			}
			
		});
	}

	public void updateUserCode(final Userinfo userinfo,final boolean updatepassword) {
		this.getHibernateTemplate().execute(new HibernateCallback(){

			public Object doInHibernate(Session session) throws HibernateException, SQLException {
				String hql ="update Userinfo set state=:state ";
				if(updatepassword){
					hql += " ,password=:password ";
				}
				hql += " where userid=:userid ";
				Query query = session.createQuery(hql);
				query.setString("state", userinfo.getState());
				if(updatepassword){
					query.setString("password", userinfo.getPassword());
				}
				query.setString("userid", userinfo.getUserid());
				return query.executeUpdate();
			}
			
		});
	}

	/**
	 * 通过ID查询详细信息
	 */
	public Userinfo getUserCodeDetail(final Userinfo userinfo) {
		return (Userinfo) this.getHibernateTemplate().execute(new HibernateCallback(){

			public Object doInHibernate(Session session) throws HibernateException, SQLException {
				String hql = " select new Userinfo(u.userid as userid,u.usercode as usercode,u.username as username,u.registertime as registertime ,u.state as state,r.roleid as roleid,r.rolename as rolename) ";
				hql += " from Userinfo as u left outer join u.userandroles as ur left outer join ur.roleinfo as r where u.userid=:userid";	
				return session.createQuery(hql).setString("userid", userinfo.getUserid()).uniqueResult();
			}
			
		});
	}

	public void deleteUserAndRole(final Userandrole roleanduser) {
		this.getHibernateTemplate().execute(new HibernateCallback(){

			public Object doInHibernate(Session session) throws HibernateException, SQLException {
				Query query = session.createQuery("delete Userandrole where userinfo=:userinfo and roleinfo=:roleinfo");
				query.setEntity("userinfo", roleanduser.getUserinfo());
				query.setEntity("roleinfo", roleanduser.getRoleinfo());
				return query.executeUpdate();
			}
			
		});
	}

	public void saveUserAndRole(Userandrole roleanduser) {
		this.getHibernateTemplate().save(roleanduser);
	}

	public void saveUserCode(Userinfo userinfo) {
		this.getHibernateTemplate().save(userinfo);
	}

}

⌨️ 快捷键说明

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