📄 usercodedaoimpl.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 + -