📄 teacherdaohibernate.java.svn-base
字号:
/*
* 创建日期 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 + -