实验题目:
用Java做简单查询(2学时)
实验内容
用API方式,做简单查询。
实验要求
在以下要求中选择至少2个,使用Java语言实现数据查询,最终把数据输出到前端界面。
(1)找出年龄小于20岁的所有学生
(2)找出年龄小于20岁且是软件学院的学生
(3)找出学生关系中的所有学生
(4)求所有学生的姓名、年龄
(5)找出年龄小于20岁的学生的姓名、性别
(6)检索所有课程情况
(7)检索先行课号为“300001”的课程名
(8)找出年龄大于50岁的老师
(9)找出所有的男老师
(10)找出所有在CS学院的老师
实验步骤与内容:
后端基于Springboot框架搭建,使用Java实现数据查询,并将结果返回给前端展示。前端展示效果见4.搭建前端页面。本实验实现了所有的10个查询题目,但因为原理差不多,所以只详细解释一个,在最后会给出所有的结果展示。
一、后端
- 首先建立springboot项目,并且与MongoDB进行连接,具体操作为:在application.properties文件中添加MongoDB配置
并且连接数据库user202200300224:
检查是否连接成功,在query console中新建查询db.course.find(),查出相应结果,表示连接成功:
- 为student、course、studentcourse、teacher、teachercourse建立实体model类,在此处以student类为例(@Id注解用于标识MongoDB中的_id字段):
- 为每个类创建Repository,用于封装数据查询和存储的逻辑。创建studentRepository类,里为面是所有查询语句的方法。
对于findAll方法和findByXX等方法,MongoRepository已经集成,直接调用即可。同时也可用@Query注解实现自定义查询。
- 创建Service包,用于完成业务逻辑,它的作用是调用Repository提供的方法,并且为Controller层提供接口。
- 创建controller类,用于前后端交互,接收前端请求,并且为前端返回具体数据
- 前端项目搭建:
前端的任务就是完成数据的展示工作,是以表格的形式展示,因为本次实验涉及到student、teacher、course三个类别的查询,所以建立了三个界面来分别展示部分查询
具体效果为:
实验结果与分析:
本次实验正式进入正篇,开始运用前端展示相应的查询数据。在对Java与MongoDB的集成有了一定的了解后,我搭建了用Spring Boot和Vue3的前后端分离项目,并成功完成了10个查询,在此过程中,遇到了许多技术难题,但都通过持续的努力得以解决。对于大多数查询需求,我利用MongoDB的查询语法,如 findAll 来检索所有文档,或findByXxx来执行条件查询,取得了良好的效果。在处理特定需求4和5时,使用query字段进行查询,使用find({}, {"NAME":1, "AGE":1})这种样式即可实现特定查询
通过本次实验,我再次拾起了Java课设和web课设所学的内容,重新掌握了Spring Boot框架,也学会了MongoDB数据库的基本用法及配置方法,还学会了如何使用注解、接口和工具类来简化开发流程。为以后的实验打下了基础