介绍
小编这次要给大家分享的是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。实体层强>
<强> 3。业务服务层强>
<强> 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如何实现打卡签到系统