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

📄 subjectdaohibernate.java.svn-base

📁 菲律宾的一个大学的图书管理系统 spring+hibernate+velocity
💻 SVN-BASE
字号:
/*
 * 创建日期 2005-4-12
 */
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.TSubject;
import biz.bluesky.pts.model.TTeacher;
import biz.bluesky.pts.service.dao.ISubjectDAO;


public class SubjectDAOHibernate extends BaseDAOHibernate implements
        ISubjectDAO {

    //查询所有的科目
    public List findSubjects() {
        return getHibernateTemplate().find("from TSubject");
    }

    //模糊查询科目
//    public List findSubjectsByName(String subjectName) {
//        List list = getHibernateTemplate().find("from TSubject subject where subject.name like '%"+ subjectName + "%'");
//        
//        return list;
//    }

    //根据科目编号查询科目
    public TSubject findSubjectById(int subjectId) {
        TSubject subject = (TSubject)getHibernateTemplate().get(TSubject.class,new Integer(subjectId));
        
        if(subject == null) {
            throw new ObjectRetrievalFailureException(TSubject.class,new Integer(subjectId));
        }
        
        return subject;
    }

    //根据科目名称和学校编号查询科目
    public TSubject findSubjectByName(String subjectName, int schoolId) {
        List list = getHibernateTemplate().find("from TSubject subject where subject.name=? and subject.schoolId=?",
                new Object[]{subjectName,new Integer(schoolId)});
        
        if(list.size() < 1) {
            return null;
        }
        else {
            return (TSubject)list.get(0);
        }
    }
    
    //根据科目名称和学校编号模糊查询科目
    public List findSubjects(String subjectName,int schoolId) {
        StringBuffer sb = new StringBuffer(100);
        sb.append("from TSubject subject where subject.schoolId=");
        sb.append(schoolId);
        sb.append(" and subject.name like '%");
        sb.append(subjectName);
        sb.append(")");
                
        return getHibernateTemplate().find(sb.toString());
    }

    //查询教师所拥有的科目    
    public List findSubjectsByTeacher(int teacherId) {
        StringBuffer sb = new StringBuffer(100);
        sb.append("from TSubject subject where subject.subjectId in");
        sb.append(" (select ts.subjectId from TTeacherSubject ts where ts.teacherId=");
        sb.append(teacherId);
        sb.append(")");
                
        List list = getHibernateTemplate().find(sb.toString());
        
        return list;
    }

    //查询教师不拥有的科目
    public List findNotSubjectsByTeacher(int teacherId, int schoolId) {
        StringBuffer sb = new StringBuffer(100);
        sb.append("from TSubject subject where subject.schoolId=");
        sb.append(schoolId);
        sb.append(" and subject.subjectId not in ");
        sb.append("(select ts.subjectId from TTeacherSubject ts where ts.teacherId=");
        sb.append(teacherId);
        sb.append(")");
        
        List list = getHibernateTemplate().find(sb.toString());
        
        return list;
    }

    //查询学校的科目
    public List findSubjectsBySchool(int schoolId) {
        return getHibernateTemplate().find("from TSubject subject where subject.schoolId=?",new Integer(schoolId));
    }

    //新增科目
    public void saveSubject(TSubject subject) {
        getHibernateTemplate().saveOrUpdate(subject);
        getHibernateTemplate().flush();
    }

    //删除科目
    public void removeSubject(int subjectId) {
        TSubject subject = findSubjectById(subjectId);
        getHibernateTemplate().delete(subject);
    }

}

⌨️ 快捷键说明

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