1.

 package com.sanqing.dao;

 import java.util.List;

 import com.sanqing.po.Student;

 public interface StudentDAO {
public Student findByStudentID(String studentID);//查询方法,根据学生ID查询
public void updateStudent(Student student);//更新学生信息
public List<Student> findByStudentName(String studentName);//根据学生姓名查找学生
public List<Student> findByStudentClass(String sclass);//根据班级查找学生
}

2.

 package com.sanqing.dao;

 import java.util.Iterator;
import java.util.List; import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction; import com.sanqing.hibernate.HibernateSessionFactory;
import com.sanqing.po.Student;
import com.sanqing.po.Subject; public class StudentDAOImpl implements StudentDAO{
public Student findByStudentID(String studentID) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Student student = (Student) session.get(Student.class, studentID);
HibernateSessionFactory.closeSession();//关闭Session对象
return student;
} public void updateStudent(Student student) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Transaction transaction = null;//声明一个事务对象
try{
transaction = session.beginTransaction();//开启事务
session.update(student);//更新学生信息
transaction.commit();//提交事务
}catch(Exception ex) {
ex.printStackTrace();
transaction.rollback();//事务回滚
}
HibernateSessionFactory.closeSession();//关闭Session对象
} public List<Student> findByStudentName(String studentName) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Query query = session.createQuery("from Student as stu where stu.studentName = ?");
query.setString(0, studentName);
List list = query.list(); //查询结果保存到list中
HibernateSessionFactory.closeSession(); //关闭Session对象
return list;
} public List<Student> findByStudentClass(String sclass) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Query query = session.createQuery("from Student as stu where stu.sclass = ?");
query.setString(0, sclass);
List list = query.list(); //查询结果保存到list中
HibernateSessionFactory.closeSession(); //关闭Session对象
return list;
}
}

3.

 package com.sanqing.dao;

 import java.util.List;

 import com.sanqing.po.Subject;
import com.sanqing.util.Page; public interface SubjectDAO {
public void addSubject(Subject subject);//保存方法,用来保存试题
public Subject findSubjectByTitle(String subjectTitle);//根据试题标题查找试题
public List<Subject> findSubjectByPage(Page page);//分页查询试题
public int findSubjectCount();//查询试题总量
public Subject findSubjectByID(int subjectID);//根据试题ID查找试题
public void updateSubject(Subject subject);//更新方法,用来更新试题
public void deleteSubject(int subjectID);//根据试题ID删除试题
public List<Subject> likeQueryByTitle(String subjectTitle,Page page);//根据试题标题模糊查询试题
public int findLinkQueryCount(String subjectTitle);//查询模糊记录数
public List<Subject> randomFindSubject(int number);//随时取出记录
}

4.

 package com.sanqing.dao;

 import java.util.List;

 import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction; import com.sanqing.hibernate.HibernateSessionFactory;
import com.sanqing.po.Student;
import com.sanqing.po.Subject;
import com.sanqing.util.Page; public class SubjectDAOImpl implements SubjectDAO{
public void addSubject(Subject subject){
Session session = HibernateSessionFactory.getSession();//获得Session对象
Transaction transaction = null;//声明一个事务对象
try{
transaction = session.beginTransaction();//开启事务
session.save(subject);//保存试题信息
transaction.commit();//提交事务
}catch(Exception ex) {
ex.printStackTrace();
transaction.rollback();//事务回滚
}
HibernateSessionFactory.closeSession();//关闭Session对象
} public Subject findSubjectByTitle(String subjectTitle) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Query query = session.createQuery("from Subject as sub where sub.subjectTitle = ?");
query.setString(0, subjectTitle);
List list = query.list(); //查询结果保存到list中
HibernateSessionFactory.closeSession(); //关闭Session对象
if(list.size() == 0) {
return null; //返回null
}else {
return (Subject) list.get(0); //返回第一个试题
}
} public List<Subject> findSubjectByPage(Page page) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Query query = session.createQuery("from Subject");
query.setMaxResults(page.getEveryPage());//设置查询记录数
query.setFirstResult(page.getBeginIndex());//设置查询记录起始位置
List list = query.list(); //查询结果保存到list中
HibernateSessionFactory.closeSession();//关闭Session对象
return list;
} public int findSubjectCount() {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Query query = session.createQuery("from Subject");
List list = query.list(); //查询结果保存到list中
int count = list.size();
HibernateSessionFactory.closeSession();//关闭Session对象
return count;
} public Subject findSubjectByID(int subjectID) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Subject subject = (Subject) session.get(Subject.class, subjectID);
HibernateSessionFactory.closeSession(); //关闭Session对象
return subject;
} public void updateSubject(Subject subject) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Transaction transaction = null;//声明一个事务对象
try{
transaction = session.beginTransaction();//开启事务
session.update(subject);//更新试题信息
transaction.commit();//提交事务
}catch(Exception ex) {
ex.printStackTrace();
transaction.rollback();//事务回滚
}
HibernateSessionFactory.closeSession();//关闭Session对象
} public void deleteSubject(int subjectID) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Subject subject = (Subject) session.get(Subject.class, subjectID);
Transaction transaction = null;//声明一个事务对象
try{
transaction = session.beginTransaction();//开启事务
session.delete(subject);
transaction.commit();//提交事务
}catch(Exception ex) {
ex.printStackTrace();
transaction.rollback();//事务回滚
}
HibernateSessionFactory.closeSession();//关闭Session对象
} public List<Subject> likeQueryByTitle(String subjectTitle,Page page) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Query query = session.createQuery("from Subject as sub where sub.subjectTitle like :title ");
query.setString("title","%"+subjectTitle+"%");
query.setMaxResults(page.getEveryPage());//设置查询记录数
query.setFirstResult(page.getBeginIndex());//设置查询记录起始位置
List list = query.list(); //查询结果保存到list中
HibernateSessionFactory.closeSession();//关闭Session对象
return list;
} public int findLinkQueryCount(String subjectTitle) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Query query = session.createQuery("from Subject as sub where sub.subjectTitle like :title ");
query.setString("title","%"+subjectTitle+"%");
List list = query.list(); //查询结果保存到list中
int count = list.size();
HibernateSessionFactory.closeSession();//关闭Session对象
return count;
} public List<Subject> randomFindSubject(int number) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Query query = session.createQuery("from Subject as sub order by rand()");
query.setMaxResults(number);//设置查询记录数
List list = query.list(); //查询结果保存到list中
HibernateSessionFactory.closeSession();//关闭Session对象
return list;
}
}

5.

 package com.sanqing.dao;

 import com.sanqing.po.Teacher;

 public interface TeacherDAO {
public Teacher findByTeacherID(String teacherID);//查询方法,根据教师ID查询
}

6.

 package com.sanqing.dao;

 import org.hibernate.Session;

 import com.sanqing.hibernate.HibernateSessionFactory;
import com.sanqing.po.Teacher; public class TeacherDAOImpl implements TeacherDAO{
public Teacher findByTeacherID(String teacherID) {
Session session = HibernateSessionFactory.getSession();//获得Session对象
Teacher teacher = (Teacher) session.get(Teacher.class, teacherID);
HibernateSessionFactory.closeSession();//关闭Session对象
return teacher;
}
}

JavaWeb项目开发案例精粹-第3章在线考试系统-003Dao层的更多相关文章

  1. JavaWeb项目开发案例精粹-第3章在线考试系统-007View层

    0.login.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...

  2. JavaWeb项目开发案例精粹-第3章在线考试系统-005action层

    1. <?xml version="1.0" encoding="UTF-8" ?><!-- XML声明 --> <!DOCTYP ...

  3. JavaWeb项目开发案例精粹-第3章在线考试系统-004Service层

    1. package com.sanqing.service; import java.util.List; import com.sanqing.po.Student; public interfa ...

  4. JavaWeb项目开发案例精粹-第3章在线考试系统-006实体层

    1. package com.sanqing.po; /* * 学生表,保存学生编号,系统密码 */ public class Student { private String studentID; ...

  5. JavaWeb项目开发案例精粹-第3章在线考试系统-002配置文件及辅助类

    1. <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5&qu ...

  6. JavaWeb项目开发案例精粹-第3章在线考试系统-001设计

    1. 2. 3. 4. # MySQL-Front 5.0 (Build 1.0) /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */; /*!40101 SET SQL ...

  7. JavaWeb项目开发案例精粹-第6章报价管理系统-05Action层

    0. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC &quo ...

  8. JavaWeb项目开发案例精粹-第6章报价管理系统-002辅助类及配置文件

    1. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www ...

  9. JavaWeb项目开发案例精粹-第2章投票系统-001设计

    1.项目结构 2.数据库设计 # MySQL-Front 5.0 (Build 1.0) /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */; /*!40101 SET ...

随机推荐

  1. mercurial(hg)使用

    # 版本管理软件的比较 svn 每个目录下建一个.svn目录实在是不爽. git 分支管理非常方便,但没感觉有什么用,主要还是在修改前提交一次代码, 等后悔时再回来,没什么其他的目的.关键是中文乱码问 ...

  2. 客户端访问WebService和PageMethod

    客户端访问WebService 客户端访问WebService和后台访问WebService没什么不同,注意的地方是要在ScriptManager中添加 <Services>        ...

  3. Python-Day4 Python基础进阶之生成器/迭代器/装饰器/Json & pickle 数据序列化

    一.生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面 ...

  4. jquery-easyui中datagrid扩展,隐藏显示表头功能

    今天,后台中需要新增一个功能,用户可以自由选择显示的列,之后保存到本地localStroage中.所以扩展了easyui中datagrid的onHeaderContextMenu方法. 使用方法: _ ...

  5. php配置步奏

    web运行大致流程 浏览器输入地址,回车(发送请求) 根据规则找到对应web服务器.规则如下: 首先在本机hosts文件中找对应IP 如果hosts中没有找到,则到互联网上找对应IP 如果还 ...

  6. ruby 格式化当前日期时间

    ruby 格式化当前日期时间 ruby 用Time类获取当前时间. t = Time.new puts t 可以看到输出的是(我现在运行的时间): Sat Jan 29 10:45:22 +0800 ...

  7. 微信wap开发,页面显示元素不全-微信开发(asp.net)

    最近在开发的微信的微商城,出现这样一种情况: pc上浏览正常,但是一到手机上浏览就会缺少部分元素 解决办法: 找了很多原因,还通过uc浏览器把网页到存下来了,发现并没有缺少元素,只是没有显示出来,后来 ...

  8. Luence简单实现2

    上一篇是基于内存存储的,这次的例子是基于本地存储索引库. 上一次的代码稍微修改,代码如下: //创建词法分析器 Analyzer analyzer = new StandardAnalyzer(); ...

  9. 《Dive into Python》Chapter 2 and Chapter 3 笔记

    Example 2.1. odbchelper.py def buildConnectionString(params): """Build a connection s ...

  10. java 并发编程

    闭锁 一种可以延迟线程的进度直到其到达终止状态.可以用来确保某些活动直到其他活动都完成后才继续执行 例如: 确保某个计算在其需要的所有资源都被初始化了之后才继续执行. 确保某个服务在其他依赖的服务都启 ...