成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > 使用Mongodb實(shí)現(xiàn)打卡簽到系統(tǒng)的實(shí)例代碼

使用Mongodb實(shí)現(xiàn)打卡簽到系統(tǒng)的實(shí)例代碼

熱門(mén)標(biāo)簽:小裙科技電銷機(jī)器人怎樣 智能外呼系統(tǒng)官網(wǎng) 呼和浩特外呼系統(tǒng)原理是什么 長(zhǎng)沙電銷外呼防封卡是什么 內(nèi)蒙古營(yíng)銷智能外呼系統(tǒng)哪個(gè)好 河南電話外呼系統(tǒng)招商 crm外呼系統(tǒng)聯(lián)系方式 外呼線路資源屬于電信業(yè)務(wù)嗎 青白江400企業(yè)電話申請(qǐng)

使用excel文件導(dǎo)入數(shù)據(jù),整合mongodb實(shí)現(xiàn)打卡簽到系統(tǒng)

環(huán)境參數(shù)

  • 開(kāi)發(fā)工具:IDEA
  • 基礎(chǔ)環(huán)境:Maven+JDK8
  • 主要技術(shù):SpringBoot、Mongodb
  • SpringBoot版本:2.2.6

實(shí)現(xiàn)步驟如下:

1.添加依賴

 dependency>
   groupId>org.springframework.boot/groupId>
   artifactId>spring-boot-starter-web/artifactId>
  /dependency>

  dependency>
   groupId>org.springframework.boot/groupId>
   artifactId>spring-boot-starter-data-mongodb/artifactId>
  /dependency>

  dependency>
   groupId>org.projectlombok/groupId>
   artifactId>lombok/artifactId>
   optional>true/optional>
  /dependency>

  !-- excel工具 -->
  dependency>
   groupId>org.apache.poi/groupId>
   artifactId>poi-ooxml/artifactId>
   version>4.0.1/version>
  /dependency>

  dependency>
   groupId>org.springframework.boot/groupId>
   artifactId>spring-boot-starter-test/artifactId>
   scope>test/scope>
   exclusions>
    exclusion>
     groupId>org.junit.vintage/groupId>
     artifactId>junit-vintage-engine/artifactId>
    /exclusion>
   /exclusions>
  /dependency>
  dependency>
   groupId>junit/groupId>
   artifactId>junit/artifactId>
   scope>test/scope>
  /dependency>

2.實(shí)體層

3.業(yè)務(wù)service層

4. service實(shí)現(xiàn)層

package com.ckf.mongodb_punch.service.impl; import com.ckf.mongodb_punch.mapper.AttendRepository; import com.ckf.mongodb_punch.entity.Attend; import com.ckf.mongodb_punch.service.AttendService; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.ArrayList; import java.util.List; @Service public class AttendServiceImpl implements AttendService { @Autowired private AttendRepository attendRepository; @Autowired private MongoTemplate mongoTemplate; /** * 上傳文件 * @param classes * @param nameListExcel * @return */ @Override public String upload(String classes, MultipartFile nameListExcel) { String result = "no"; if (nameListExcel == null) { return result; } //實(shí)例化對(duì)象列表,用于存儲(chǔ)Excel中的數(shù)據(jù)
  ListAttend> attendList = new ArrayListAttend>(); //讀取文件對(duì)象nameListExcel 中的數(shù)據(jù)(讀取Excel中每一行數(shù)據(jù),存到對(duì)象,存到對(duì)象列表中)
  try { //根據(jù)路徑獲取這個(gè)操作excel的實(shí)例
   HSSFWorkbook wb = new HSSFWorkbook(nameListExcel.getInputStream()); //根據(jù)頁(yè)面index 獲取sheet頁(yè)
   HSSFSheet sheet = wb.getSheetAt(0); HSSFRow row = null; //循環(huán)sesheet頁(yè)中數(shù)據(jù)從第二行開(kāi)始,第一行是標(biāo)題
   for (int i = 1; i  sheet.getPhysicalNumberOfRows(); i++) { //獲取每一行數(shù)據(jù)
    row = sheet.getRow(i); Attend attend = new Attend(); //下面cellnum對(duì)應(yīng)著下標(biāo),id是第一位對(duì)應(yīng)著下標(biāo)為0,name是第二位對(duì)應(yīng)的下標(biāo)為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(attend); } } catch (IOException e) { e.printStackTrace(); } System.out.println("解析Excel中的數(shù)據(jù):" + attendList); /** * 如果成功就,寫(xiě)入mongodb中 */ attendRepository.saveAll(attendList); result = "ok"; return result; } /** * 簽到 * @param name * @return */ @Override public String sign(String name) { Query query = Query.query(Criteria.where("name").is(name)); //局部修改的內(nèi)容
  Update update = new Update(); update.set("sign", 1); //attend 集合名 對(duì)應(yīng)實(shí)體的集合名
  mongoTemplate.updateFirst(query, update, "attend"); return "ok"; } /** * 全查詢學(xué)生信息 * @param sign * @return */ @Override public ListAttend> findAllBySign(Integer sign) { return attendRepository.findAllBySign(sign); } }

5.controller層

package com.ckf.mongodb_punch.controller; 
import com.ckf.mongodb_punch.entity.Attend; 
import com.ckf.mongodb_punch.service.AttendService; 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController; 
import org.springframework.web.multipart.MultipartFile; 
import java.util.HashMap; import java.util.List; 
import java.util.Map; 
@RestController public class AttendController
{ 
@Autowired private AttendService attendService;
@GetMapping("/sign") 
public String sign(String name)
{ /** * 將名字傳給服務(wù)層,mongodb修改登錄狀態(tài) 
*/ attendService.sign(name); return "ok"; 
} 
/** * 上傳文件 * @param classes * @param nameListExcel * @return 
*/ @PostMapping("/upload") 
public String upload(String classes, MultipartFile nameListExcel)
{
/** * 接收到前臺(tái)傳過(guò)來(lái)的文件對(duì)象,交給service層或者Excel工具類來(lái)解析數(shù)據(jù)
* System.out.println("接收前臺(tái)表單提交數(shù)據(jù):"+classes+nameListExcel);
*/ String result = attendService.upload(classes,nameListExcel);
return result;
} 
/** * 查詢未簽到同學(xué) 和已簽到同學(xué)
* @return */ @GetMapping("/list")
public Map list(){ Map result = new HashMapString,Object>(); /** * 已簽到 */ ListAttend> 
complete = attendService.findAllBySign(1);
result.put("complete",complete); /** * 未簽到 */ ListAttend> 
incomplete = attendService.findAllBySign(0);
result.put("incomplete",incomplete); 
return result;
} 
}

6.application.yml

這里使用的是mongodb的安全認(rèn)證配置

spring: 
data: 
mongodb: 
uri: 
mongodb://ckf_user:123456@192.168.85.154:27017/attend_db

默認(rèn)單例配置如下

spring: 
data: 
mongodb: 
uri:
mongodb://localhost:27017/attend_db

這里使用的是異步實(shí)現(xiàn)的

7.list.html

代碼如下

!DOCTYPE html>
html lang="en">
head>
 meta charset="UTF-8">
 title>考勤管理頁(yè)面/title>
 style> #complete,#incomplete{ width: 50%; float: left; } /style>
 script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js" type="text/javascript" charset="utf-8">/script>
/head>
body>

 h3>導(dǎo)入名單/h3> 班級(jí)名稱: input type="text" name="classes" id="classes"/> 請(qǐng)選擇導(dǎo)入文件 input type="file" name="nameList" id="nameList"/>
 input type="button" id="upload" value="上傳">
 hr/>

 div id="incomplete">
  h3>未簽到的/h3>
  p>/p>

 /div>

 div id="complete">
  h3>已簽到/h3>
  p>/p>
 /div>

/body>
script type="text/javascript"> $(function () { //初始化頁(yè)面查詢結(jié)果
 $.ajax({ type:"get", url:"/list", success:function(data){ console.log(data); var complete =""; var incomplete =""; $.each(data.complete,function (index,object) { complete += object.id +"nbsp;" +object.name +"br/>"; }) $("#complete p").html(complete); $.each(data.incomplete,function (index,object) { incomplete += object.id +"nbsp;" +object.name +"br/>"; }) $("#incomplete p").html(incomplete); } }); $("body").on("click","#upload",function(){ //將數(shù)據(jù)打包到formData對(duì)象中
   var formData = new FormData(); formData.append("classes",$("#classes").val()); formData.append("nameListExcel",$("#nameList")[0].files[0]); $.ajax({ type:"post", url:"/upload", //dataType:"json",
 data:formData, processData: false, contentType: false, success:function(data){ console.log(data); if(data=="ok"){ alert("上傳成功,即將刷新頁(yè)面") //刷新當(dāng)前頁(yè)面
 location.reload(); }else { alert("上傳失敗,請(qǐng)重新上傳") } } }); }) }) /script>
/html>

簽到打卡代碼如下:

8.sign-in.html

!DOCTYPE html>
html lang="en">
head>
 meta charset="UTF-8">
 title>簽到頁(yè)面/title>
 script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js" type="text/javascript" charset="utf-8">/script>
/head>
body> 請(qǐng)輸入你的姓名:input type="text" id="name"/>
 input type="button" id="sign" value="簽到"/>

/body>
script type="text/javascript"> $(function () { $("body").on("click","#sign",function(){ $.ajax({ type:"get", url:"/sign", data:{"name":$("#name").val()}, success:function(data){ console.log(data); if(data=="ok"){ alert("簽到成功,返回簽到頁(yè)面") //刷新當(dāng)前頁(yè)面
 location.reload(); }else { alert("簽到成功,請(qǐng)重新簽到") } } }); }) }) /script>
/html>

list.html頁(yè)面效果圖

工作表效果圖

遠(yuǎn)程工具查詢剛導(dǎo)入的數(shù)據(jù)如下 數(shù)據(jù)后面有包的路徑是因?yàn)閷?dǎo)入數(shù)據(jù)的時(shí)候沒(méi)有添加mongodb配置類,添加了就沒(méi)有了。

添加配置類之后的效果圖 

注意:導(dǎo)入excel文件(xsl工作表)的時(shí)候使用2003之前版本的,后綴帶XLS。

有哪里不明白的地方記得下方留言哦。

項(xiàng)目已托管碼云

地址:https://gitee.com/ckfeng/mongodb_punch.git 

總結(jié)

到此這篇關(guān)于使用Mongodb實(shí)現(xiàn)打卡簽到系統(tǒng)的文章就介紹到這了,更多相關(guān)使用Mongodb實(shí)現(xiàn)打卡簽到系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MongoDB實(shí)現(xiàn)基于關(guān)鍵詞的文章檢索功能(C#版)
  • 深入了解MongoDB 分布式集群
  • 開(kāi)源 5 款超好用的數(shù)據(jù)庫(kù) GUI 帶你玩轉(zhuǎn) MongoDB、Redis、SQL 數(shù)據(jù)庫(kù)(推薦)
  • JAVA代碼實(shí)現(xiàn)MongoDB動(dòng)態(tài)條件之分頁(yè)查詢
  • MongoDB設(shè)計(jì)方法以及技巧示例詳解
  • MongoDB數(shù)據(jù)庫(kù)基礎(chǔ)操作總結(jié)
  • express+mongoose實(shí)現(xiàn)對(duì)mongodb增刪改查操作詳解
  • win7平臺(tái)快速安裝、啟動(dòng)mongodb的方法
  • 淺析MongoDB 全文檢索

標(biāo)簽:楚雄 白山 菏澤 呼倫貝爾 黃石 池州 安順 舟山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用Mongodb實(shí)現(xiàn)打卡簽到系統(tǒng)的實(shí)例代碼》,本文關(guān)鍵詞  使用,Mongodb,實(shí)現(xiàn),打卡,簽到,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用Mongodb實(shí)現(xiàn)打卡簽到系統(tǒng)的實(shí)例代碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于使用Mongodb實(shí)現(xiàn)打卡簽到系統(tǒng)的實(shí)例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产性一级片| 欧美午夜性春猛xxxx| 免费看一区二区三区| 亚洲自拍偷拍二区| 久久美女艺术照精彩视频福利播放| 国产又大又粗又硬| 乱一区二区av| 成人区精品一区二区婷婷| 国产亚洲精品久久久久久豆腐| 国产偷国产偷亚洲清高网站| 色三级在线观看| 国产一区二区三区日韩| 黄色大片在线播放| 日韩中文字幕电影| 国产黄色大片网站| 精品免费在线观看| 中文字幕伦理免费在线视频| 中文字幕在线视频久| 三上悠亚激情av一区二区三区| 国产区亚洲区欧美区| 嫩草影院永久入口| 97影院理论午夜| 成人av综合一区| 不卡一卡二卡三乱码免费网站| 激情丁香综合| 国产精品色网| 欧美一级专区免费大片| 很黄的网站在线观看| 国产一区二区三区影院| 蜜桃视频在线入口www| 日韩一区二区三区在线观看| 日本理论中文字幕| 色开心亚洲综合| 久久精品一区二区三区四区五区| 免费看的www视频网站视频| 美女精品在线观看| 久久久久久无码午夜精品直播| 日本少妇xxxx软件| 免费观看又污又黄在线观看国产| 国产厕所精品在线观看| 国产精品久久久久av免费| youjizzxxxx18| 日韩精品有码在线观看| 精品高清美女精品国产区| 亚洲av成人无码一二三在线观看| 自拍偷拍亚洲一区| 亚洲偷熟乱区亚洲香蕉av| 美女羞羞视频在线观看| 丝袜美女在线观看| 日韩不卡免费视频| 久草免费在线视频| 91九色对白| 婷婷亚洲久悠悠色悠在线播放| 亚洲成人偷拍自拍| 九九热精品在线| 欧美日韩在线不卡一区| 荫蒂被男人添免费视频| 亚洲av首页在线| 资源网第一页久久久| 午夜精品一区二区三区在线观看| 国产情人节一区| 成人在线播放av| 精品乱色一区二区中文字幕| 中文不卡1区2区3区| baoyu777.永久免费视频| 欧美成人免费视频a| 免费看成人片| 草草视频在线免费观看| 久久亚洲国产精品成人av秋霞| 亚洲综合大片69999| 3d黄动漫网站| 97碰碰碰免费公开在线视频| 色多多视频在线观看| 亚洲熟女综合色一区二区三区| 亚洲欧美中文字幕在线观看| 91在线观看视频| 在线视频你懂得一区| 亚洲天堂男人天堂| 亚洲a区在线视频| 热久久一区二区| 国产性xxxx18免费观看视频| 久久久av毛片精品| 色呦呦久久久| 四虎永久免费网站| 三级久久三级久久久| 国产精品美女www爽爽爽| 成人激情免费视频| 91国产免费观看| 国产一区玩具在线观看| 韩国女主播成人在线观看| 久久91精品国产91久久小草| 国产在线欧美| 国产 欧美 自拍| 性欧美videohd高精| 亚洲精品无码专区| 欧美国产偷国产精品三区| 久久国产日韩| 欧美顶级大胆免费视频| 午夜视频免费在线| 精品国产美女| 天天色天天爽| 99在线热播精品免费99热| 国产中文字幕91| 好吊妞无缓冲视频观看| 日韩欧美在线字幕| 97人人做人人爱| 粉嫩av国产一区二区三区| 中日韩美女免费视频网址在线观看| 色噜噜狠狠狠综合欧洲色8| 日产国产欧美视频一区精品| 欧美日韩免费高清一区色橹橹| jlzzjizz在线播放观看| 欧美日韩激情一区| 亚洲不卡视频| 潘金莲一级淫片aaaaaa播放1| 先锋资源一区二区| 国产精品蜜月aⅴ在线| 91精品国产九九九久久久亚洲| 亚洲人视频在线观看| 久久精品欧美一区二区三区不卡| 日本中文字幕在线一区| 国产成人在线播放| 中文国产字幕在线观看| 九九在线精品视频| 日韩网红少妇无码视频香港| 91高清视频免费| 黄色激情视频在线观看| 一个人看的www日本高清视频| 国产喷水theporn| 欧美jizzhd精品欧美巨大免费| 久久精品国产欧美激情| 国产精品久久久久免费a∨大胸| 波多野结衣一本一道| 黄网站色大毛片| 欧美在线综合视频| 日韩网站免费观看| 一区二区久久精品66国产精品| 国产原创精品| 黄网站app在线观看大全免费视频| 亚洲最大激情网| 中文成人无字幕乱码精品区| 一区二区三区精品视频在线观看| 国产免费一区二区视频| 亚洲精品一区av| 欧美精品一二三| 国产成人精品亚洲日本在线观看| 99久久久久成人国产免费| 中文字幕一区二区在线观看视频| 神马影院一区二区| 在线播放/欧美激情| 国产亚洲成av人片在线观黄桃| 久久精品亚洲国产奇米99| 黄色av网址在线| 欧美日韩国产成人精品| 中文字幕在线观看一区二区三区| 日韩一区二区在线免费| 成人黄色一级视频| 亚洲精品在线网址| 宅男在线一区| 亚洲精品888| 久99久精品视频免费观看| 日本在线中文字幕一区| 999国产视频| 精品少妇3p| av电影网站在线观看| 日本精品在线视频| 亚洲高清免费观看| 国产精品免费久久久久| 亚洲一区二区精品视频| 色综合欧美在线| 热门国产精品亚洲第一区在线| 777国产偷窥盗摄精品视频| 精品人妻一区二区三| 97免费观看视频| 成人bbav| 天天躁日日躁狠狠躁免费麻豆| 日韩高清一区二区| 97超碰在线人人| 91精品国产日韩91久久久久久| 国产精品免费视频二三区| 136国产福利精品导航网址应用| 中文字幕亚洲乱码熟女1区2区| 欧美亚洲在线视频| 国产精品观看| 999久久久久| 日韩精品视频三区| 日韩亚洲一区在线播放| 国产免费一区二区三区在线能观看| 亚洲一二三区精品| 成人性生交大片免费观看嘿嘿视频| 欧美亚洲国产一卡| 久久人人爽爽人人爽人人片av| 亚洲免费成人av电影| 一级毛片高清视频| 激情欧美一区二区三区黑长吊| 九色视频网站在线观看| 日本韩国欧美一区二区三区| 四虎国产精品永久免费观看视频| 婷婷久久免费视频| 日韩精选在线| 亚洲网站视频在线观看| 久久国产精品波多野结衣| www.av在线播放| a天堂在线资源| 多人啪嗒啪嗒在线观看免费| 免费看的黄色大片| 亚洲我射av| 成人综合婷婷国产精品久久免费| 国产无码精品在线观看| 被男人吃奶添下面好舒服动态图| 国产成人毛毛毛片| 日本精品在线一区| 亚洲v日韩v欧美v综合| 在线免费观看成人网| av亚洲一区二区三区| 波多野吉衣在线视频| 成人欧美色图| 日本成人一区二区| 国产一级电影网| 成人短视频在线| 亚洲精品在线播放视频| 激情视频在线观看一区二区三区| 亚洲av成人片无码| 国产视频1区2区3区| 一级精品视频在线观看宜春院| 在线看的黄色网址| 99久久精品国产亚洲| 国产女人高潮的av毛片| 免费视频拗女稀缺一区二区| 亚洲成人免费看| 91精品国产高清久久久久久久久| 亚洲黄色免费网站| 午夜激情久久久| 国产精品久久久久久久天堂| 国产精品伊人| 亚洲一区二区三区日本久久九| 精品伊人久久大线蕉色首页| 天天做夜夜操| 国产精品99无码一区二区| 久久久视频免费观看| 国产在线观看一区二区| 日本在线观看大片免费视频| 日韩午夜精品电影| 欧美不卡一二三| 青娱乐精品视频| 国产精品揄拍一区二区| 色悠悠久久综合| 日韩高清中文字幕| 国产精品主播直播| 日本在线中文字幕一区二区三区| 久久久久高清| wwwwxxxxx欧美| 国产日韩精品视频一区二区三区| 99精品一区| 国产精品一在线观看| av日韩国产| 玖玖玖免费嫩草在线影院一区| 最好看的中文字幕久久| 国产视频一区欧美| 日韩激情免费视频| 成人激情五月天| 在线视频婷婷| 2019国产精品自在线拍国产不卡| 亚洲第一视频网| 风流少妇一区二区三区91| 精品国产一区二区三区久久久久久| 好吊日在线视频| 国产三级久久久| 中文字幕第一页久久| 国产精品老牛影院在线观看| 激情成人综合网| 99在线欧洲视频| 亚洲精品成人自拍| 国产精品大陆在线观看| 最近在线中文字幕| 日本欧美高清| 午夜精品久久久久久久99| 亚洲大片精品免费| 亚洲国产成人tv| 亚州精品一二三区| 婷婷中文字幕一区三区| h网址在线观看| 亚洲免费观看在线视频| 一级视频在线免费观看| 欧美顶级少妇做爰| heisi视频网在线观看| 新欧美整片sss第一页| 电影一区二区在线观看| 国产福利图片| 五月天综合网| 91欧美在线视频| 黑人无套内谢中国美女| 国产成人精品白浆久久69| 午夜精彩国产免费不卡不顿大片| 91啪九色porn原创视频在线观看| 国产一区二区精品在线| 韩国欧美亚洲国产| 精品网站999www| 国产精品99久久| 青青草国产一区二区三区| 欧美gvvideo网站| 四虎4hu永久免费入口| 黑人巨大精品欧美一区二区奶水| 2020国产在线视频| 色婷婷久久久久swag精品| 成人在线观看黄色| а天堂8中文最新版在线官网| 日韩欧美的一区| aa级大片欧美| 欧美虐宫另类残忍视频| 亚洲欧美一区二区精品久久久| 亚洲va综合va国产va中文| 亚洲性生活视频在线观看| 亚洲精品一卡二卡三卡四卡| 亚洲女人毛茸茸高潮| 欧美图片欧美激情欧美精品| 男人的天堂免费| 夫妻av一区二区| 洋洋av久久久久久久一区| 亚洲欧洲一区二区三区久久| 国产aⅴ综合色| 伊人婷婷欧美激情| 亚洲视频1区| 亚洲第一色在线| 欧美大交乱xxxx| www.国产一区二区| 亚洲熟妇无码一区二区三区导航| 男人资源在线播放|