Mongodb如何实现打卡签到系统

  介绍

小编这次要给大家分享的是Mongodb如何实现打卡签到系统,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

使用excel文件导入数据,整合Mongodb实现打卡签到系统

环境参数

    <李>开发工具:想法李 <李>基础环境:Maven + JDK8李 <>李主要技术:SpringBoot, Mongodb李 <>李SpringBoot版本:2.2.6款李

实现步骤如下:

<强> 1。添加依赖

 & lt; dependency>
  & lt; groupId> org.springframework.boot
  & lt; artifactId> spring-boot-starter-web
  & lt;/dependency>
  
  & lt; dependency>
  & lt; groupId> org.springframework.boot
  & lt; artifactId> spring-boot-starter-data-mongodb
  & lt;/dependency>
  
  & lt; dependency>
  & lt; groupId> org.projectlombok
  & lt; artifactId> lombok
  & lt; optional> true
  & lt;/dependency>
  
  & lt; !——excel工具——比;
  & lt; dependency>
  & lt; groupId> org.apache.poi
  & lt; artifactId> poi-ooxml
  & lt; version> 4.0.1
  & lt;/dependency>
  
  & lt; dependency>
  & lt; groupId> org.springframework.boot
  & lt; artifactId> spring-boot-starter-test
  & lt; scope> test
  & lt; exclusions>
  & lt; exclusion>
  & lt; groupId> org.junit.vintage
  & lt; artifactId> junit-vintage-engine
  & lt;/exclusion>
  & lt;/exclusions>
  & lt;/dependency>
  & lt; dependency>
  & lt; groupId> junit
  & lt; artifactId> junit
  & lt; scope> test
  & lt;/dependency> 

<强> 2。实体层

 Mongodb如何实现打卡签到系统

<强> 3。业务服务层

 Mongodb如何实现打卡签到系统

<强> 4。服务实现层

包com.ckf.mongodb_punch.service.impl;进口com.ckf.mongodb_punch.mapper.AttendRepository;进口com.ckf.mongodb_punch.entity.Attend;进口com.ckf.mongodb_punch.service.AttendService;进口org.apache.poi.hssf.usermodel.HSSFRow;进口org.apache.poi.hssf.usermodel.HSSFSheet;进口org.apache.poi.hssf.usermodel.HSSFWorkbook;进口org.springframework.beans.factory.annotation.Autowired;进口org.springframework.data.mongodb.core.MongoTemplate;进口org.springframework.data.mongodb.core.query.Criteria;进口org.springframework.data.mongodb.core.query.Query;进口org.springframework.data.mongodb.core.query.Update;进口org.springframework.stereotype.Service;进口org.springframework.web.multipart.MultipartFile;进口java.io.IOException;进口java.util.ArrayList;进口并不知道;@ service公共类AttendServiceImpl实现AttendService {@ autowired私人AttendRepository AttendRepository;@ autowired私人MongoTemplate MongoTemplate;/* * *上传文件* @param类* @param nameListExcel * @return */@Override上传公共字符串(字符串类,MultipartFile nameListExcel){字符串结果=皀o";如果(nameListExcel==null){返回结果;}//实例化对象列表,用于存储Excel中的数据
  ListattendList=new ArrayList ();//读取文件对象nameListExcel中的数据(读取Excel中每一行数据,存到对象,存到对象列表中)
  {//试根据路径获取这个操作excel的实例
  HSSFWorkbook wb=new HSSFWorkbook (nameListExcel.getInputStream ());//根据页面指数获取表页
  HSSFSheet表=wb.getSheetAt (0);HSSFRow行=零;//循环sesheet页中数据从第二行开始,第一行是标题
  for (int i=1;我& lt;sheet.getPhysicalNumberOfRows ();我+ +){//获取每一行数据
  行=sheet.getRow(我);出席参加=new参加();//下面cellnum对应着下标,id是第一位对应着下标为0,名字是第二位对应的下标为1,等等。
  attend.setId (Integer.valueOf ((int) row.getCell (0) .getNumericCellValue ()));attend.setName (row.getCell (1) .getStringCellValue ());attend.setSign (Integer.valueOf ((int) row.getCell (2) .getNumericCellValue ()));attendList.add(参加);}}赶上(IOException e) {e.printStackTrace ();}System.out.println(“解析Excel中的数据:“+ attendList);/* * *如果成功,就写入mongodb中*/attendRepository.saveAll (attendList);结果=皁k";返回结果;}/* * *签到* * @return @param名字*/@Override公共字符串(字符串名称){迹象查询查询=Query.query (Criteria.where (“name") .(名字));//局部修改的内容
  更新更新=new Update ();update.set (“sign", 1);//参加集合名对应实体的集合名
  mongoTemplate。updateFirst(查询、更新“attend");返回“ok";}/* * *全查询学生信息* @param标志* @return */@Override公共List

Mongodb如何实现打卡签到系统