📄 operatordaoimpl.java
字号:
package com.wxd.common.popedom.persistence.dao;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.hibernate.Hibernate;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.wxd.common.popedom.persistence.entity.Action;
import com.wxd.common.popedom.persistence.entity.Operator;
import com.wxd.common.popedom.persistence.entity.OperatorRole;
import com.wxd.common.popedom.persistence.entity.Role;
import com.wxd.common.popedom.persistence.entity.RoleAction;
public class OperatorDaoImpl extends HibernateDaoSupport implements OperatorDao {
public Collection<Action> getAllActions(int id) {
String sql1,sql2;
sql1="select distinct ra.role_no from tb_com_operator_role ra where ra.operator_no=:operatorNo";
sql2="select distinct action from Action action join action.RoleActions ra where ra.Role in(:roleList)";
List roleList=this.getSession().createSQLQuery(sql1).setInteger("operatorNo", new Integer(id)).list();
List<Action> result=this.getSession().createQuery(sql2).setParameterList("roleList", roleList,Hibernate.INTEGER).list();
return result;
}
public Collection<Operator> getAllOperators() {
return this.getHibernateTemplate().loadAll(Operator.class);
}
public Operator getOperatorFromOperatorId(String operatorId){
Operator op=(Operator)getSession().createQuery("from Operator operator where operator.OperatorId=:opId)").setString("opId",operatorId).uniqueResult();
return op;
}
public Collection<OperatorRole> getAllRoles(int id) {
Operator op=(Operator)getSession().createQuery("from Operator op where op.id=:opId").setInteger("opId",new Integer(id)).uniqueResult();
Hibernate.initialize(op.getOperatorRoles());
return op.getOperatorRoles();
}
public void save(Operator operator){
this.getHibernateTemplate().saveOrUpdate(operator);
}
public void update(Operator operator){
this.getHibernateTemplate().update(operator);
}
public void delete(int id){
this.deleteRoleByOperator(id);
this.getHibernateTemplate().delete(new Operator(new Integer(id)));
}
public Collection<OperatorRole> getAllOperatorRoles(){
return this.getHibernateTemplate().find("from OperatorRole ");
}
public Collection<OperatorRole> getOperatorRolesByOperator(int id){
return this.getSession().createQuery("select opRole from OperatorRole opRole join opRole.Operator op where op.id=:opId").setInteger("opId", new Integer(id)).list();
}
public void saveRole(OperatorRole operatorRole){
this.getHibernateTemplate().save(operatorRole);
}
public void deleteRole(int id){
this.getHibernateTemplate().delete(new OperatorRole(new Integer(id)));
}
public void deleteRoleByOperator(int operatorId){
this.getHibernateTemplate().deleteAll(getOperatorRolesByOperator(operatorId));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -