内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

SpringBoot知識體系實戰(zhàn)-定時器篇-創(chuàng)新互聯(lián)

實戰(zhàn)前言:定時任務我想諸位童鞋都不陌生,簡而言之名為“設定定時鬧鐘做某件事情”,在這里我將以訂單模塊作為實戰(zhàn)為例!

成都創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都網(wǎng)站設計、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元花垣做網(wǎng)站,已為上家服務,為花垣各地企業(yè)和個人服務,聯(lián)系電話:18982081108

需求分析:在企業(yè)級應用中,經(jīng)常打交道的業(yè)務應當屬于訂單模塊了,下面將基于這樣的場景實戰(zhàn)定時器:將業(yè)務級別的訂單表A中發(fā)生更新的數(shù)據(jù) 每天定時 同步到報表級別的訂單表B中(為了給數(shù)據(jù)分析部門做報表)!其定時執(zhí)行的業(yè)務流程如下圖所示:
SpringBoot知識體系實戰(zhàn)-定時器篇

實現(xiàn)思路:
①、核心邏輯其實你會發(fā)現(xiàn)在于“拉取A表的數(shù)據(jù)以及更新到報表級別的訂單表B中”;
②、實現(xiàn)①流程之后,接下來其實是定時器的責任了。在這里我采用的是Spring提供的Scheduler模塊來實現(xiàn)!
③、在這里需要解釋“發(fā)生更新”的概念,假設每天拉取數(shù)據(jù)的日期定義為reportDate,那么更新的數(shù)據(jù)應當包括:“create_time=reportDate的數(shù)據(jù)列表”以及“update_time=reportDate的數(shù)據(jù)列表”,即“當天新產(chǎn)生的數(shù)據(jù)以及當天發(fā)生更新的數(shù)據(jù)”統(tǒng)稱為“發(fā)生更新的數(shù)據(jù)”,即增量拉?。?br/>在實戰(zhàn)過程中,我也實現(xiàn)了全量拉取的業(yè)務邏輯。而對于報表級別的訂單表B,則是通過order_no,即訂單編號來判斷記錄是否唯一從而決定觸發(fā)B表的數(shù)據(jù)記錄是需要修改還是新增

正文:當?shù)玫缴厦娴膶崿F(xiàn)思路時,其實已經(jīng)幾乎實現(xiàn)了一大半,接下來就是代碼實現(xiàn)了
①、首先創(chuàng)建數(shù)據(jù)庫db_springboot,創(chuàng)建兩張數(shù)據(jù)字段一樣的表,分別為業(yè)務級別的數(shù)據(jù)表A:order_record,報表級別的數(shù)據(jù)表B:order_report。并用mybatis逆向工程生成entity,mapper,mapper.xml文件(在這里就不貼出來了!),下面貼出A,B表的創(chuàng)建語句:
SpringBoot知識體系實戰(zhàn)-定時器篇

SpringBoot知識體系實戰(zhàn)-定時器篇

②、然后在業(yè)務級別的訂單模塊OrderRecordMapper中定義全量/增量拉取的sql邏輯:

SpringBoot知識體系實戰(zhàn)-定時器篇

SpringBoot知識體系實戰(zhàn)-定時器篇

③、在報表級別的訂單模塊OrderReportMapper中定義新增或者修改的sql邏輯,即通過訂單編號查詢的sql邏輯

SpringBoot知識體系實戰(zhàn)-定時器篇

SpringBoot知識體系實戰(zhàn)-定時器篇

④、采用Spring的Scheduler組件模塊實現(xiàn)定時邏輯,在使用之前,需要在SpringBoot啟動類開啟Scheduler,如下所示:
SpringBoot知識體系實戰(zhàn)-定時器篇

⑤、而真正的定時代碼邏輯如下:

SpringBoot知識體系實戰(zhàn)-定時器篇

SpringBoot知識體系實戰(zhàn)-定時器篇

效果:在這里,@Scheduled是核心重點,而其中的cron參數(shù)其實就是:“秒 分 時 日 月 年”的設置,在這里我是動態(tài)配置配置文件中,配置如下圖所示:
SpringBoot知識體系實戰(zhàn)-定時器篇

系統(tǒng)一啟動,將會在定時設置的cron的那個點開始觸發(fā),首先是源數(shù)據(jù)表,接著是從源數(shù)據(jù)表中“拉取今天新增的以及新增更新的數(shù)據(jù)列表” 并新增或者更新到 目標報表表B中,數(shù)據(jù)表中的數(shù)據(jù)以及觸發(fā)的效果如下圖所示:
SpringBoot知識體系實戰(zhàn)-定時器篇

SpringBoot知識體系實戰(zhàn)-定時器篇

SpringBoot知識體系實戰(zhàn)-定時器篇

結語:以上涉及到的源碼以及數(shù)據(jù)庫下載地址:http://down.51cto.com/data/2449867 實戰(zhàn)過程如有相關問題,請多多指教!若文章能幫助到你,請點贊轉發(fā)分享唄,順便關注關注我的微信公眾號或者加我個人qq:1974544863 或者 qq群:583522159(java開源技術交流)進行技術交流
SpringBoot知識體系實戰(zhàn)-定時器篇

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前名稱:SpringBoot知識體系實戰(zhàn)-定時器篇-創(chuàng)新互聯(lián)
當前鏈接:http://m.rwnh.cn/article0/hcjoo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航網(wǎng)站設計公司、全網(wǎng)營銷推廣企業(yè)建站、網(wǎng)站建設外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司
葫芦岛市| 六安市| 榕江县| 五家渠市| 宁陕县| 迁安市| 老河口市| 乌拉特后旗| 荣昌县| 黑水县| 攀枝花市| 元谋县| 仁寿县| 出国| 西藏| 张家界市| 疏勒县| 丰台区| 辽阳县| 玛纳斯县| 凉城县| 松原市| 毕节市| 玛多县| 秦皇岛市| 同江市| 昌吉市| 特克斯县| 紫阳县| 江陵县| 阿克陶县| 汶川县| 四子王旗| 蓝山县| 丁青县| 大田县| 和田市| 东丰县| 金秀| 富阳市| 洪雅县|