山东大学软件学院nosql实验四

news/2025/2/25 6:32:43

实验题目:

使用Java做简单数据插入

实验内容

用API方式,做数据插入。

使用Java语言实现数据插入界面,为实验一建立的学生、教师、课程表插入数据,可以在前端界面中录入数据之后保存,也可以导入Excel中的数据。

实验步骤与内容:

  1. 实现单条文档数据的插入(以在student表插入为例):
  1. 在service类中添加save函数,在controller类中添加方法,接收前端插入数据请求,并且为前端返回具体数据

前端进行请求即可

在前端填写相关信息后即可插入成功

  1. 批量插入数据

由于MongoTemplate本身支持数据的批量操作,所以我们可以直接调用这个方法,大体的思路为从前端获取用户上传的文件,然后后端使用easy-poi将数据读出来并进行整理,然后调用insert方法进行插入即可

2.1

首先需要在pom.xml文件中添加easypoi相关依赖,使得在 Java 应用程序中处理 Excel 文件变得更加便捷

然后在student类中添加Excel注释,使 Student 类能够与 MongoDB 数据库和 Excel 文件之间进行有效的数据映射。

然后在service层添加insertMany方法,使用ExcelImportUtil来从MultipartFile对象中读取 Excel 文件的数据,将其转换为Student类型的列表,然后使用mongoTemplate工具类来批量插入这些数据到 MongoDB 中:

然后在controller层添加upload方法,实现前后端信息传递:

2.2前端实现

使用<el-upload>组件,上传本地Excel文件并传递给后端

批量插入效果展示:

插入成功之后就可以在表格中查看到已经批量插入了xlsx文件里的所有数据(我插入的文件里只有这两条数据)(因为此处涉及个人信息,所以只有一条截图):

观察数据库,可以看到,上述几条文档已经正确插入数据库了。

Teacher类和course以此类推即可

实验结果与分析:

本次实验主要学习了单条插入和批量插入Excel文件的前后端实现,同时也遇到了难点,就是如何把文件解析,经过查询决定利用easypoi库解析Excel文件,生成对象列表,最后成功解决,通过本次实验更加了解了save、insert的方法,学到了非常多的内容。


http://www.niftyadmin.cn/n/5865094.html

相关文章

LeetCode 热题100 2. 两数相加

LeetCode 热题100 | 2. 两数相加 大家好&#xff0c;今天我们来解决一道经典的算法题——两数相加。这道题在 LeetCode 上被标记为中等难度&#xff0c;要求我们将两个非空的链表表示的整数相加&#xff0c;并以相同形式返回一个表示和的链表。下面我将详细讲解解题思路&#…

网络安全-新型路径攻击流程及防御措施

以下为新型攻击路径的攻击流程及对应防御措施的综合分析&#xff0c;结合了当前主流的攻击技术&#xff08;如AI驱动攻击、供应链攻击、零信任环境下的渗透等&#xff09;以及防御策略的演进&#xff1a; 一、新型攻击流程的核心阶段 1. 侦察阶段&#xff08;智能化与隐蔽化&a…

linux 编辑器

1.三种模式 2.图例 3.wq 4.光标的使用

如何安装vm和centos

以下是在VMware中安装CentOS的一般步骤&#xff1a; 一、安装VMware 以下是在 Windows 系统中安装 VMware 软件的详细步骤&#xff1a; 1. 下载 VMware 软件&#xff1a; - 访问 VMware 官方网站&#xff08;https://www.vmware.com/&#xff09;。 - 根据您的操作系统选择合…

WPF基本布局基础

一. Grid 描述: Grid 是WPF中最常用的布局容器之一。它允许你通过定义行和列来创建一个灵活的网格布局。子元素可以放置在特定的行和列中&#xff0c;并且可以跨越多行或多列。 特点: 支持行和列的定义&#xff0c;可以设置行高和列宽。 支持子元素的绝对定位和相对定位。 适…

《Effective Objective-C》阅读笔记(上)

目录 高质量iOS之熟悉OC 了解OC语言的起源 在类的头文件中尽量少引入其他头文件 多用字面语法&#xff0c;少用与之等价的方法 字面数值 字面量数组 字面量字典 局限性 多用类型常量&#xff0c;少用#define预处理指令 用枚举表示状态、选项、状态码 高质量iOS之对象…

explorer.exe句柄表的结构和前三个句柄对应的对象--重要

explorer.exe句柄表的结构和前三个句柄对应的对象 第二部分&#xff1a; 0: kd> !handle PROCESS 89589d88 SessionId: 0 Cid: 00e4 Peb: 7ffdf000 ParentCid: 0464 DirBase: 784cf000 ObjectTable: e19ce678 HandleCount: 275. Image: explorer.exe Han…

Eclipse IDE 2025-03 最新版安装教程(官方下载+环境配置详解)

一、软件定位与特性 Eclipse IDE 是开源跨平台集成开发环境&#xff0c;支持 Java/C/Python/PHP 等 50 编程语言&#xff0c;其插件生态系统覆盖 Web 开发、大数据分析、嵌入式开发等场景5。2025-03 版本新增智能代码补全、实时性能分析等 AI 增强功能。 二、安装环境准备 1. …