1.

 1 package com.sanqing.dao;
 2
 3 import java.util.List;
 4
 5 import com.sanqing.po.Student;
 6
 7 public interface StudentDAO {
 8     public Student findByStudentID(String studentID);//查询方法,根据学生ID查询
 9     public void updateStudent(Student student);//更新学生信息
10     public List<Student> findByStudentName(String studentName);//根据学生姓名查找学生
11     public List<Student> findByStudentClass(String sclass);//根据班级查找学生
12 }

2.

 1 package com.sanqing.dao;
 2
 3 import java.util.Iterator;
 4 import java.util.List;
 5
 6 import org.hibernate.Query;
 7 import org.hibernate.Session;
 8 import org.hibernate.Transaction;
 9
10 import com.sanqing.hibernate.HibernateSessionFactory;
11 import com.sanqing.po.Student;
12 import com.sanqing.po.Subject;
13
14 public class StudentDAOImpl implements StudentDAO{
15     public Student findByStudentID(String studentID) {
16         Session session = HibernateSessionFactory.getSession();//获得Session对象
17         Student student = (Student) session.get(Student.class, studentID);
18         HibernateSessionFactory.closeSession();//关闭Session对象
19         return student;
20     }
21
22     public void updateStudent(Student student) {
23         Session session = HibernateSessionFactory.getSession();//获得Session对象
24         Transaction  transaction = null;//声明一个事务对象
25         try{
26             transaction = session.beginTransaction();//开启事务
27             session.update(student);//更新学生信息
28             transaction.commit();//提交事务
29         }catch(Exception ex) {
30             ex.printStackTrace();
31             transaction.rollback();//事务回滚
32         }
33         HibernateSessionFactory.closeSession();//关闭Session对象
34     }
35
36     public List<Student> findByStudentName(String studentName) {
37         Session session = HibernateSessionFactory.getSession();//获得Session对象
38         Query query = session.createQuery("from Student as stu where stu.studentName = ?");
39         query.setString(0, studentName);
40         List list = query.list();                    //查询结果保存到list中
41         HibernateSessionFactory.closeSession();        //关闭Session对象
42         return list;
43     }
44
45     public List<Student> findByStudentClass(String sclass) {
46         Session session = HibernateSessionFactory.getSession();//获得Session对象
47         Query query = session.createQuery("from Student as stu where stu.sclass = ?");
48         query.setString(0, sclass);
49         List list = query.list();                    //查询结果保存到list中
50         HibernateSessionFactory.closeSession();        //关闭Session对象
51         return list;
52     }
53 }

3.

 1 package com.sanqing.dao;
 2
 3 import java.util.List;
 4
 5 import com.sanqing.po.Subject;
 6 import com.sanqing.util.Page;
 7
 8 public interface SubjectDAO {
 9     public void addSubject(Subject subject);//保存方法,用来保存试题
10     public Subject findSubjectByTitle(String subjectTitle);//根据试题标题查找试题
11     public List<Subject> findSubjectByPage(Page page);//分页查询试题
12     public int findSubjectCount();//查询试题总量
13     public Subject findSubjectByID(int subjectID);//根据试题ID查找试题
14     public void updateSubject(Subject subject);//更新方法,用来更新试题
15     public void deleteSubject(int subjectID);//根据试题ID删除试题
16     public List<Subject> likeQueryByTitle(String subjectTitle,Page page);//根据试题标题模糊查询试题
17     public int findLinkQueryCount(String subjectTitle);//查询模糊记录数
18     public List<Subject> randomFindSubject(int number);//随时取出记录
19 }

4.

  1 package com.sanqing.dao;
  2
  3 import java.util.List;
  4
  5 import org.hibernate.Query;
  6 import org.hibernate.Session;
  7 import org.hibernate.Transaction;
  8
  9 import com.sanqing.hibernate.HibernateSessionFactory;
 10 import com.sanqing.po.Student;
 11 import com.sanqing.po.Subject;
 12 import com.sanqing.util.Page;
 13
 14 public class SubjectDAOImpl implements SubjectDAO{
 15     public void addSubject(Subject subject){
 16         Session session = HibernateSessionFactory.getSession();//获得Session对象
 17         Transaction  transaction = null;//声明一个事务对象
 18         try{
 19             transaction = session.beginTransaction();//开启事务
 20             session.save(subject);//保存试题信息
 21             transaction.commit();//提交事务
 22         }catch(Exception ex) {
 23             ex.printStackTrace();
 24             transaction.rollback();//事务回滚
 25         }
 26         HibernateSessionFactory.closeSession();//关闭Session对象
 27     }
 28
 29     public Subject findSubjectByTitle(String subjectTitle) {
 30         Session session = HibernateSessionFactory.getSession();//获得Session对象
 31         Query query = session.createQuery("from Subject as sub where sub.subjectTitle = ?");
 32         query.setString(0, subjectTitle);
 33         List list = query.list();                    //查询结果保存到list中
 34         HibernateSessionFactory.closeSession();        //关闭Session对象
 35         if(list.size() == 0) {
 36             return null;                            //返回null
 37         }else {
 38             return (Subject) list.get(0);            //返回第一个试题
 39         }
 40     }
 41
 42     public List<Subject> findSubjectByPage(Page page) {
 43         Session session = HibernateSessionFactory.getSession();//获得Session对象
 44         Query query = session.createQuery("from Subject");
 45         query.setMaxResults(page.getEveryPage());//设置查询记录数
 46         query.setFirstResult(page.getBeginIndex());//设置查询记录起始位置
 47         List list = query.list();                    //查询结果保存到list中
 48         HibernateSessionFactory.closeSession();//关闭Session对象
 49         return list;
 50     }
 51
 52     public int findSubjectCount() {
 53         Session session = HibernateSessionFactory.getSession();//获得Session对象
 54         Query query = session.createQuery("from Subject");
 55         List list = query.list();                    //查询结果保存到list中
 56         int count = list.size();
 57         HibernateSessionFactory.closeSession();//关闭Session对象
 58         return count;
 59     }
 60
 61     public Subject findSubjectByID(int subjectID) {
 62         Session session = HibernateSessionFactory.getSession();//获得Session对象
 63         Subject subject = (Subject) session.get(Subject.class, subjectID);
 64         HibernateSessionFactory.closeSession();        //关闭Session对象
 65         return subject;
 66     }
 67
 68     public void updateSubject(Subject subject) {
 69         Session session = HibernateSessionFactory.getSession();//获得Session对象
 70         Transaction  transaction = null;//声明一个事务对象
 71         try{
 72             transaction = session.beginTransaction();//开启事务
 73             session.update(subject);//更新试题信息
 74             transaction.commit();//提交事务
 75         }catch(Exception ex) {
 76             ex.printStackTrace();
 77             transaction.rollback();//事务回滚
 78         }
 79         HibernateSessionFactory.closeSession();//关闭Session对象
 80     }
 81
 82     public void deleteSubject(int subjectID) {
 83         Session session = HibernateSessionFactory.getSession();//获得Session对象
 84         Subject subject = (Subject) session.get(Subject.class, subjectID);
 85         Transaction  transaction = null;//声明一个事务对象
 86         try{
 87             transaction = session.beginTransaction();//开启事务
 88             session.delete(subject);
 89             transaction.commit();//提交事务
 90         }catch(Exception ex) {
 91             ex.printStackTrace();
 92             transaction.rollback();//事务回滚
 93         }
 94         HibernateSessionFactory.closeSession();//关闭Session对象
 95     }
 96
 97     public List<Subject> likeQueryByTitle(String subjectTitle,Page page) {
 98         Session session = HibernateSessionFactory.getSession();//获得Session对象
 99         Query query = session.createQuery("from Subject as sub where sub.subjectTitle like :title ");
100         query.setString("title","%"+subjectTitle+"%");
101         query.setMaxResults(page.getEveryPage());//设置查询记录数
102         query.setFirstResult(page.getBeginIndex());//设置查询记录起始位置
103         List list = query.list();                    //查询结果保存到list中
104         HibernateSessionFactory.closeSession();//关闭Session对象
105         return list;
106     }
107
108     public int findLinkQueryCount(String subjectTitle) {
109         Session session = HibernateSessionFactory.getSession();//获得Session对象
110         Query query = session.createQuery("from Subject as sub where sub.subjectTitle like :title ");
111         query.setString("title","%"+subjectTitle+"%");
112         List list = query.list();                    //查询结果保存到list中
113         int count = list.size();
114         HibernateSessionFactory.closeSession();//关闭Session对象
115         return count;
116     }
117
118     public List<Subject> randomFindSubject(int number) {
119         Session session = HibernateSessionFactory.getSession();//获得Session对象
120         Query query = session.createQuery("from Subject as sub order by rand()");
121         query.setMaxResults(number);//设置查询记录数
122         List list = query.list();                    //查询结果保存到list中
123         HibernateSessionFactory.closeSession();//关闭Session对象
124         return list;
125     }
126 }

5.

1 package com.sanqing.dao;
2
3 import com.sanqing.po.Teacher;
4
5 public interface TeacherDAO {
6     public Teacher findByTeacherID(String teacherID);//查询方法,根据教师ID查询
7 }

6.

 1 package com.sanqing.dao;
 2
 3 import org.hibernate.Session;
 4
 5 import com.sanqing.hibernate.HibernateSessionFactory;
 6 import com.sanqing.po.Teacher;
 7
 8 public class TeacherDAOImpl implements TeacherDAO{
 9     public Teacher findByTeacherID(String teacherID) {
10         Session session = HibernateSessionFactory.getSession();//获得Session对象
11         Teacher teacher = (Teacher) session.get(Teacher.class, teacherID);
12         HibernateSessionFactory.closeSession();//关闭Session对象
13         return teacher;
14     }
15 }

转载于:https://www.cnblogs.com/shamgod/p/5320334.html

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

  1. JavaWeb项目开发案例精粹-第6章报价管理系统-001需求分析及设计

    1. 2. 3. 4. 5. 6. 转载于:https://www.cnblogs.com/shamgod/p/5323645.html

  2. JavaWeb项目开发案例精粹-第6章报价管理系统-07View层

    1. 2.back_index.html 1 <HTML> 2 <HEAD> 3 <META HTTP-EQUIV="Content-Type" CO ...

  3. 20套初级javaweb项目开发案例(适合白小)——计算机毕业设计

    20套javaweb项目开发案例,数据库是mysql.有jsp+servlet,ssh和ssm项目.纯项目源码,配套详细项目讲解说明.适合初学者使用.可以用作课题项目,期末作业等

  4. JAVA EE项目开发及应用实训报告——网上考试系统

    ** JAVA EE项目开发及应用实训 ** 题 目: 网上考试系统 系 别: 专 业: 学生姓名: 学 号: 指导教师: 题目类型:•理论研究 •实验研究 •工程设计 •工程技术研究 软件开发 • ...

  5. 小程序项目:基于微信小程序的在线考试系统springboot框架——计算机毕业设计

    项目介绍 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受学生的喜爱,微信在线考试系统被学生普遍使用,为方便学生能 ...

  6. python项目开发案例精粹-Python金融实战案例精粹

    随着金融科技时代的到来,Python在金融领域的影响力已经有目共睹.掌握Python在金融实务中的应用,已经成为金融科技达人们必备的技能之一. 本书作为<基于Python的金融分析与风险管理&g ...

  7. javaweb项目开发案例

    前言 我们说 Kafka 是一个消息队列,其实更加确切的说:是 Broker 这个核心部件.为何这么说?你会发现我们可以通过控制台. Java 代码. C++ 代码.甚至是 Socket 向 Brok ...

  8. Java项目:(前端vue后台java微服务)在线考试系统(java+vue+springboot+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 考试流程: 用户前台注册成为学生 管理员后台添加老师,系统将该用户角色上升为老师 老师登录,添加考试,添加题目,发布考试 考生登录前台参加考 ...

  9. 《实战突击.php项目开发案例整合》.(明日科技).[PDF]ckook

    图书作者: 明日科技 图书编号: 9787121141140 图书格式: PDF 出 版 社: 电子工业出版社 出版年份: 2011 图书页数: 800-900 [内容简介] <实战突击:php ...

  10. C#项目开发案例全程实录(第2版)(奋斗的小鸟)_PDF电子书

    下载地址: http://pan.baidu.com/share/link?shareid=373066639&uk=721744522 内容简介 <C#项目开发案例全程实录(第2版)( ...

最新文章

  1. UITextField与UITextView的区别
  2. java学习(4)--oracle
  3. python_day10_并发编程
  4. 用ASP实现隐藏链接方法
  5. 使用Spring WebFlux构建反应性REST API –第1部分
  6. Redis:02---安装Redis(Linux+Windows+Docker)
  7. oracle函数 MIN([distinct|all]x)
  8. 用代码玩剧本杀?第3届83行代码大赛剧情官方解析
  9. myBatis的xml映射文件中传入list集合与数组做条件
  10. js基础知识汇总01
  11. 创设Excel服务失败
  12. 鸿蒙谁法力最强,上古神话中,鸿蒙初开时有九大古神,鸿钧勉强上榜,烛龙位列前三...
  13. python多重背包_多重背包
  14. 这届年轻人爱换“QQ秀”的中二病还能治好吗?
  15. SMAA算法详解 - SMAAEdgeDetectionVS
  16. KILE无法软件仿真
  17. 新技能Get! 手把手教你接入CG Kit
  18. 程序员技术路线图(经典)
  19. iOS开发- 文件共享 利用iTunes导入文件 并且显示已有文件
  20. W-GAN系 (Wasserstein GAN、 Improved WGAN)

热门文章

  1. 数据包络分析——二阶段网络带feedback
  2. Python Scrapy 爬取 前程无忧招聘网
  3. docker入门——构建镜像
  4. 你的简历能帮你争取到面试机会吗?
  5. pmic输出电压设置+pinctrl子系统+平台驱动demo例程
  6. WebGL着色器变量(attribute、uniform和varying)
  7. excel 的lookup和sumifs函数使用
  8. 机器学习实战(Machine Learning in Action)学习笔记————09.利用PCA简化数据
  9. CryEngine3 调试Shader方法
  10. mongo上云迁移同步mongoshake