实验题目:
使用Java做简单数据插入
实验内容
用API方式,做数据插入。
使用Java语言实现数据插入界面,为实验一建立的学生、教师、课程表插入数据,可以在前端界面中录入数据之后保存,也可以导入Excel中的数据。
实验步骤与内容:
- 实现单条文档数据的插入(以在student表插入为例):
- 在service类中添加save函数,在controller类中添加方法,接收前端插入数据请求,并且为前端返回具体数据
前端进行请求即可
在前端填写相关信息后即可插入成功
- 批量插入数据
由于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的方法,学到了非常多的内容。