JavaWeb项目开发案例精粹-第3章在线考试系统-003Dao层
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层相关推荐
- JavaWeb项目开发案例精粹-第6章报价管理系统-001需求分析及设计
1. 2. 3. 4. 5. 6. 转载于:https://www.cnblogs.com/shamgod/p/5323645.html
- JavaWeb项目开发案例精粹-第6章报价管理系统-07View层
1. 2.back_index.html 1 <HTML> 2 <HEAD> 3 <META HTTP-EQUIV="Content-Type" CO ...
- 20套初级javaweb项目开发案例(适合白小)——计算机毕业设计
20套javaweb项目开发案例,数据库是mysql.有jsp+servlet,ssh和ssm项目.纯项目源码,配套详细项目讲解说明.适合初学者使用.可以用作课题项目,期末作业等
- JAVA EE项目开发及应用实训报告——网上考试系统
** JAVA EE项目开发及应用实训 ** 题 目: 网上考试系统 系 别: 专 业: 学生姓名: 学 号: 指导教师: 题目类型:•理论研究 •实验研究 •工程设计 •工程技术研究 软件开发 • ...
- 小程序项目:基于微信小程序的在线考试系统springboot框架——计算机毕业设计
项目介绍 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受学生的喜爱,微信在线考试系统被学生普遍使用,为方便学生能 ...
- python项目开发案例精粹-Python金融实战案例精粹
随着金融科技时代的到来,Python在金融领域的影响力已经有目共睹.掌握Python在金融实务中的应用,已经成为金融科技达人们必备的技能之一. 本书作为<基于Python的金融分析与风险管理&g ...
- javaweb项目开发案例
前言 我们说 Kafka 是一个消息队列,其实更加确切的说:是 Broker 这个核心部件.为何这么说?你会发现我们可以通过控制台. Java 代码. C++ 代码.甚至是 Socket 向 Brok ...
- Java项目:(前端vue后台java微服务)在线考试系统(java+vue+springboot+mysql+maven)
源码获取:博客首页 "资源" 里下载! 考试流程: 用户前台注册成为学生 管理员后台添加老师,系统将该用户角色上升为老师 老师登录,添加考试,添加题目,发布考试 考生登录前台参加考 ...
- 《实战突击.php项目开发案例整合》.(明日科技).[PDF]ckook
图书作者: 明日科技 图书编号: 9787121141140 图书格式: PDF 出 版 社: 电子工业出版社 出版年份: 2011 图书页数: 800-900 [内容简介] <实战突击:php ...
- C#项目开发案例全程实录(第2版)(奋斗的小鸟)_PDF电子书
下载地址: http://pan.baidu.com/share/link?shareid=373066639&uk=721744522 内容简介 <C#项目开发案例全程实录(第2版)( ...
最新文章
- UITextField与UITextView的区别
- java学习(4)--oracle
- python_day10_并发编程
- 用ASP实现隐藏链接方法
- 使用Spring WebFlux构建反应性REST API –第1部分
- Redis:02---安装Redis(Linux+Windows+Docker)
- oracle函数 MIN([distinct|all]x)
- 用代码玩剧本杀?第3届83行代码大赛剧情官方解析
- myBatis的xml映射文件中传入list集合与数组做条件
- js基础知识汇总01
- 创设Excel服务失败
- 鸿蒙谁法力最强,上古神话中,鸿蒙初开时有九大古神,鸿钧勉强上榜,烛龙位列前三...
- python多重背包_多重背包
- 这届年轻人爱换“QQ秀”的中二病还能治好吗?
- SMAA算法详解 - SMAAEdgeDetectionVS
- KILE无法软件仿真
- 新技能Get! 手把手教你接入CG Kit
- 程序员技术路线图(经典)
- iOS开发- 文件共享 利用iTunes导入文件 并且显示已有文件
- W-GAN系 (Wasserstein GAN、 Improved WGAN)
热门文章
- 数据包络分析——二阶段网络带feedback
- Python Scrapy 爬取 前程无忧招聘网
- docker入门——构建镜像
- 你的简历能帮你争取到面试机会吗?
- pmic输出电压设置+pinctrl子系统+平台驱动demo例程
- WebGL着色器变量(attribute、uniform和varying)
- excel 的lookup和sumifs函数使用
- 机器学习实战(Machine Learning in Action)学习笔记————09.利用PCA简化数据
- CryEngine3 调试Shader方法
- mongo上云迁移同步mongoshake