📄 teacherdaoimpl.java
字号:
package com.zzu.dao.impl;
import java.io.Serializable;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.zzu.dao.TeacherDao;
import com.zzu.dao.entity.Course;
import com.zzu.dao.entity.Sc;
import com.zzu.dao.entity.Student;
import com.zzu.dao.entity.Teacher;
public class TeacherDaoImpl implements TeacherDao {
Session se=null;
Transaction tx=null;
public void add(Teacher teacher) {
try {
se = HibernateSessionFactory.getSession();
tx = se.beginTransaction();
System.out.println(teacher.getTno());
se.save(teacher);
tx.commit();
System.out.println("老师添加成功!");
} catch (Exception e) {
if (null != tx)
tx.rollback();
e.printStackTrace();
} finally {
se.close();
}
}
public void del(Teacher teacher) {
try {
se = HibernateSessionFactory.getSession();
tx = se.beginTransaction();
se.delete(teacher);
tx.commit();
System.out.println("老师删除成功!");
//ok = 1;
} catch (Exception e) {
if (null != tx)
tx.rollback();
e.printStackTrace();
} finally {
se.close();// 关闭 Session
}
}
public boolean login(String tno, String tpwd) {
boolean flag=false;
Session se=HibernateSessionFactory.getSession();
//Transaction tx=se.beginTransaction();
String hql="from Teacher tea where tea.tno="+tno+"and tea.tpwd="+tpwd;
Query query=se.createQuery(hql);
List list=query.list();
if(list.size()>0)
{
flag=true;
Teacher tea=(Teacher)list.get(0);
System.out.println(tea.getTname());
}
//tx.commit();
return flag;
}
public List serch(Teacher condition) {
List teaList = null;
se = HibernateSessionFactory.getSession();
String hql = "from Teacher";
if(condition==null)
{
hql=hql;
}
try {
Query query = se.createQuery(hql);
teaList = query.list();
} catch (Exception e) {
System.out.println("TeacherDaoImpl 类 Exception");
e.printStackTrace();
} finally {
se.close();
}
return teaList;
}
public Teacher serchById(String tno) {
Teacher teacher=null;
se=HibernateSessionFactory.getSession();
//Transaction tx=se.beginTransaction();
String hql="from Teacher tea where tea.tno='"+tno+"'";
Query query=se.createQuery(hql);
List list=query.list();
if(list.size()>0)
{
teacher=(Teacher)list.get(0);
System.out.println(teacher.getTname());
}
//tx.commit();
return teacher;
}
public void update(Teacher teacher) {
try{
se=HibernateSessionFactory.getSession();
tx=se.beginTransaction();
se.update(teacher);
System.out.println("老师信息修改成功!");
tx.commit();
}catch(Exception e)
{
if(null!=tx)
{
tx.rollback();
}
}finally{
se.close();
}
}
public static void main(String[] args)
{
// Course course=new CourseDaoImpl().getCourse(Course.class, "01");
// Teacher teacher=new TeacherDaoImpl().getTeacher(Teacher.class, "1001");
// //new TeacherDaoImpl().findMyStudent(teacher, course);
// List list=new TeacherDaoImpl().findMyStudentInfo(teacher, course);
// for(Iterator it=list.iterator();it.hasNext();)
// {
// //Student student=(Student)it.next();
// Sc sc=(Sc)it.next();
// System.out.println("我的选修课程学生列表:"+sc.getStudent().getSname()+sc.getCourse().getCname()+":"+sc.getGrade());
// }
new TeacherDaoImpl().serchById("1001");
}
public List findMyStudentInfo(Teacher teacher, Course course) {
System.out.println("coming");
List myStuList = null;
se = HibernateSessionFactory.getSession();
String hql = "select sc from Tc tc,Sc sc where tc.teacher=? and sc.course=? and tc.course=sc.course";
try {
Query query = se.createQuery(hql);
query.setEntity(0, teacher);
query.setEntity(1, course);
System.out.println("coming2");
myStuList = query.list();
} catch (Exception e) {
System.out.println("TeacherDaoImpl 类 Exception");
e.printStackTrace();
} finally {
se.close();
}
return myStuList;
}
public Teacher getTeacher(Class clz, Serializable id) {
Teacher teacher=null;
se=HibernateSessionFactory.getSession();
try{
teacher=(Teacher)se.get(clz, id);
}catch(Exception e)
{
e.printStackTrace();
}finally{
se.close();
}
return teacher;
}
public void addStudent(Student student, Course course) {
// TODO Auto-generated method stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -