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

📄 teacherdaohibernate.java

📁 菲律宾的一个大学的图书管理系统 spring+hibernate+velocity
💻 JAVA
字号:
/*
 * 创建日期 2005-4-11
 */
package biz.bluesky.pts.service.dao.impl;

import java.util.List;

import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import org.springframework.orm.ObjectRetrievalFailureException;

import biz.bluesky.pts.model.TPermission;
import biz.bluesky.pts.model.TRole;
import biz.bluesky.pts.model.TRolePermission;
import biz.bluesky.pts.model.TTeacher;
import biz.bluesky.pts.model.TTeacherClass;
import biz.bluesky.pts.model.TTeacherRole;
import biz.bluesky.pts.model.TSubject;
import biz.bluesky.pts.model.TTeacherSubject;
import biz.bluesky.pts.model.TClass;
import biz.bluesky.pts.model.TTeacherClass;
import biz.bluesky.pts.service.dao.ITeacherDAO;


public class TeacherDAOHibernate extends BaseDAOHibernate implements
        ITeacherDAO {

    //查询所有的教师
    public List findTeachers() {
        return getHibernateTemplate().find("from TTeacher");
    }

    //根据编号查询直接下级教师
    public List findTeachersByParentId(int parentId) {
        List list = getHibernateTemplate().find("from TTeacher teacher where teacher.parentId=?",new Integer(parentId));
        
        if(list.size() < 1) {
            return null;
        }
        else {
            return list;
        }
    }

    //根据学校编号查询学校教师
    public List findTeachersBySchoolId(int schoolId) {
        List list = getHibernateTemplate().find("from TTeacher teacher where teacher.schoolId=?",new Integer(schoolId));
        
        if(list.size() < 1) {
            return null;
        }
        else {
            return list;
        }
    }
    
    //根据教师编号查询教师
    public TTeacher findTeacherById(int teacherId) {
        TTeacher teacher = (TTeacher)getHibernateTemplate().get(TTeacher.class,new Integer(teacherId));
        
        if(teacher == null) {
            throw new ObjectRetrievalFailureException(TTeacher.class, new Integer(teacherId));
        }
        
        return teacher;
    }
    
    //根据教师名称模糊查询教师
    public List findTeachersByName(String teacherName) {
        List list = getHibernateTemplate().find("from TTeacher teacher where teacher.name like '%"+ teacherName + "%'");
        
        return list;
    }

    //根据教师名称查询教师
    public TTeacher findTeacherByName(String teacherName, int schoolId) {
        List list = getHibernateTemplate().find("from TTeacher teacher where teacher.name=? and teacher.schoolId=?",
                new Object[]{teacherName,new Integer(schoolId)});
        
        if(list.size() < 1) {
            return null;
        }
        else {
            return (TTeacher)list.get(0);
        }
    }

    //根据IC卡编号查询教师
    public TTeacher findTeacherByIC(String ic) {
        List list = getHibernateTemplate().find("from TTeacher teacher where teacher.ic=?",ic);
        
        if(list.size() < 1) {
            return null;
        }
        else {
            return (TTeacher)list.get(0);
        }
    }

    //根据Email查询教师
    public TTeacher findTeacherByEmail(String email) {
        List list = getHibernateTemplate().find("from TTeacher teacher where teacher.email=?",email);
        
        if(list.size() < 1) {
            return null;
        }
        else {
            return (TTeacher)list.get(0);
        }
    }
    
    //查询拥有此角色的教师
    public List findTeachersByRole(int roleId) {
        StringBuffer sb = new StringBuffer(100);
        sb.append("from TTeacher teacher where teacher.teacherId in ");
        sb.append("(select tr.teacherId from TTeacherRole tr where tr.roleId=");
        sb.append(roleId);
        sb.append(")");
        
        List list = getHibernateTemplate().find(sb.toString());
        
        return list;
    }

    //查询不具备此权限的教师
    public List findTeachersByNotRole(int roleId) {
        StringBuffer sb = new StringBuffer(100);
        sb.append("from TTeacher teacher where teacher.teacherId not in ");
        sb.append("(select tr.teacherId from TTeacherRole tr where tr.roleId=");
        sb.append(roleId);
        sb.append(")");
        
        List list = getHibernateTemplate().find(sb.toString());
        
        return list;
    }
    
    //通过科目查询教师
    public List findTeachersBySubject(int subjectId) {
        StringBuffer sb = new StringBuffer(100);
        sb.append("from TTeacher teacher where teacher.teacherId in ");
        sb.append("(select ts.teacherId from TTeacherSubject ts where ts.subjectId=");
        sb.append(subjectId);
        sb.append(")");
        
        List list = getHibernateTemplate().find(sb.toString());
        
        return list;
    }
    
    //查询没有此科目的教师
    public List findTeachersByNotSubject(int subjectId, int schoolId) {
        StringBuffer sb = new StringBuffer(100);
        sb.append("from TTeacher teacher where teacher.schoolId=");
        sb.append(schoolId);
        sb.append(" and teacher.teacherId not in (select ts.teacherId from TTeacherSubject ts where ts.subjectId=");
        sb.append(subjectId);
        sb.append(")");
        
        List list = getHibernateTemplate().find(sb.toString());
        
        return list;
    }
    
    //查询班级的教师
    public List findTeachersByClass(int classId) {
        StringBuffer sb = new StringBuffer(100);
        sb.append("from TTeacher teacher where teacher.teacherId in ");
        sb.append("(select ts.teacherId from TTeacherClass ts where ts.classId=");
        sb.append(classId);
        sb.append(")");
        
        List list = getHibernateTemplate().find(sb.toString());
        
        return list;
    }
    
    //查询班级没有的教师
    public List findTeacherByNotClass(int classId, int schoolId) {
        StringBuffer sb = new StringBuffer(100);
        sb.append("from TTeacher teacher where teacher.schoolId=");
        sb.append(schoolId);
        sb.append(" and teacher.teacherId not in (select ts.teacherId from TTeacherClass ts where ts.classId=");
        sb.append(classId);
        sb.append(")");
        
        List list = getHibernateTemplate().find(sb.toString());
        
        return list;
    }
    
    //新增教师
    public void saveTeacher(TTeacher teacher) {
        getHibernateTemplate().saveOrUpdate(teacher);
        getHibernateTemplate().flush();
    }
    
    //新增教师的角色
    public void saveRoleToTeacher(TTeacherRole tr) {
        getHibernateTemplate().saveOrUpdate(tr);
        getHibernateTemplate().flush();
    }
    
    //新增教师的科目
    public void saveSubjectToTeacher(TTeacherSubject ts) {
        getHibernateTemplate().saveOrUpdate(ts);
        getHibernateTemplate().flush();
    }
 
    //新增教师的班级
    public void saveClassToTeacher(TTeacherClass tc) {
        getHibernateTemplate().saveOrUpdate(tc);
        getHibernateTemplate().flush();
    }
    
    //删除教师
    public void removeTeacher(int teacherId) {
        TTeacher teacher = findTeacherById(teacherId);
        getHibernateTemplate().delete(teacher);
    }
    
    //删除教师的角色
    public void removeRoleFromTeacher(int roleId, int teacherId) {
        StringBuffer sb = new StringBuffer(100);
        sb.append("from TTeacherRole tr where tr.roleId=");
        sb.append(roleId);
        sb.append(" and tr.teacherId=");
        sb.append(teacherId);
        
        List list = getHibernateTemplate().find(sb.toString());
        
        if(list.size() < 1) {
            throw new ObjectRetrievalFailureException(TTeacherRole.class,""	);
        }
        
        getHibernateTemplate().delete((TTeacherRole)list.get(0)	);
    }
    
    //删除教师的科目
    public void removeSubjectFromTeacher(int subjectId, int teacherId) {
        StringBuffer sb = new StringBuffer(100);
        sb.append("from TTeacherSubject ts where ts.subjectId=");
        sb.append(subjectId);
        sb.append(" and ts.teacherId=");
        sb.append(teacherId);
        
        List list = getHibernateTemplate().find(sb.toString());
        
        if(list.size() < 1) {
            throw new ObjectRetrievalFailureException(TTeacherSubject.class,"");
        }
        
        getHibernateTemplate().delete((TTeacherSubject)list.get(0));
    }

    //删除教师的班级
    public void removeClassFromTeacher(int classId, int teacherId) {
        List list = getHibernateTemplate().find("from TTeacherClass ts where ts.classId=? and ts.teacherId=?",
                new Object []{new Integer(classId),new Integer(teacherId)});
        
        if(list.size() < 1) {
            throw new ObjectRetrievalFailureException(TTeacherClass.class,"");
        }
        
        getHibernateTemplate().delete((TTeacherClass)list.get(0));
    }


}

⌨️ 快捷键说明

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