java協程操作mysql數據庫

我的項目:

nanshaws/nettyWeb: 復習一下netty,并打算做一個web項目出來 (github.com)

最近在項目中分別添加了虛擬線程操作mysql數據庫,和用協程操作mysql數據庫

同理先跟我這個博客操作一下前面的:就單純代碼的時候進行修改:

如何用java的虛擬線程連接數據庫-CSDN博客

完整代碼:

package org.tianfan.mysqlTest;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;public class Test002 {static String name = "root";static String password = "123456";static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";static final String DB_URL = "jdbc:mysql://localhost:3306/itheima?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";public static void main(String[] args) throws ExecutionException, InterruptedException {CompletableFuture<Connection> coroutine1 = CompletableFuture.supplyAsync(() -> {// 協程1的執行邏輯Connection conn = null;Statement stmt = null;try {// 注冊 JDBC 驅動Class.forName(JDBC_DRIVER);// 打開鏈接System.out.println("連接數據庫...");conn = DriverManager.getConnection(DB_URL, name, password);System.out.println("連接成功...");}catch (Exception e){e.printStackTrace();}return conn;});CompletableFuture<String> coroutine2 = CompletableFuture.supplyAsync(() -> {// 協程2的執行邏輯return "進行數據庫操作";});/*** 其他耗時操作*/Connection connection = coroutine1.get();System.out.println(coroutine2.get()); // 輸出:Coroutine 2 finished.}
}

這樣做的好處就是不會在執行協程1的時候,不會阻塞主線程,直到主線程使用coroutine1.get();的時候才會阻塞主線程

結果圖:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/162572.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/162572.shtml
英文地址,請注明出處:http://en.pswp.cn/news/162572.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

TikTok與精神健康:社交媒體在壓力時代的作用

在當今數字化和社交化的時代&#xff0c;社交媒體已成為人們生活中不可或缺的一部分。其中&#xff0c;TikTok作為一款備受歡迎的短視頻應用&#xff0c;不僅改變了人們的娛樂方式&#xff0c;也對精神健康產生了深遠的影響。 本文將深入探討TikTok在壓力時代對精神健康的作用…

2023年中國油田工程建設市場規模現狀及行業競爭分析[圖]

油田工程建設是在確定油氣田有開發生產的價值的基礎上&#xff0c;進行系統的工程建設&#xff0c;油田工程建設包括井場建設、管道施工、土石方工程、道路建設及綠化等服務。 油田工程建設主要內容 資料來源&#xff1a;共研產業咨詢&#xff08;共研網&#xff09; 油田服務…

oapi-codegen 安裝和使用

背景描述 oapi-codegen 是代碼自動生成工具&#xff0c;其大致邏輯是&#xff1a;&#xff08;1&#xff09;編寫遵循 openAPI 規范的 yaml 格式 api 接口文檔&#xff1b;&#xff08;2&#xff09;使用 oapi-codegen 使用 yaml 文件生成 gin 框架的 server 端代碼。 除此以…

編輯 | 古代漢語知識

文章目錄 文字通假字古今字異體字&#xff08;了解&#xff09; 詞匯古漢語中的單音詞與雙音詞&#xff08;掌握&#xff09;詞的本義與引申義的特點和主要差異&#xff08;掌握&#xff09;詞的古義與今義的特點和主要差異&#xff08;掌握&#xff09;與現代漢語用法相同與現…

反向傳播BP算法

神經網絡的反向傳播 反向傳播機制與代碼微分引擎與代碼原理闡述 如需轉載&#xff0c;請注明出處&#xff01; 如有幫助點贊收藏關注&#xff01; 反向傳播機制與代碼 這里主要介紹反向傳播是如何運作的&#xff0c;代碼中會加注釋&#xff0c;便于大家理解。 在訓練神經網絡時…

抖音商城小程序源碼系統 附帶完整的搭建教程

大家好啊&#xff0c;今天小編來給大家分享一款抖音商城小程序源碼系統。這可是當下最熱門的的項目之一。。抖音作為國內最大的短視頻平臺之一&#xff0c;擁有龐大的用戶群體和豐富的社交功能。為了滿足用戶在抖音上購物和交易的需求&#xff0c;抖音商城小程序應運而生。 以…

租車系統開發/多功能租車平臺微信小程序源碼/汽車租賃系統源碼/汽車租賃小程序系統

源碼介紹&#xff1a; 多功能租車平臺微信小程序源碼&#xff0c;作為汽車租賃、摩托車租車平臺系統源碼&#xff0c;是小程序系統。基于微信小程序的汽車租賃系統源碼。 開發環境及工具&#xff1a; 大等于jdk1.8&#xff0c;大于mysql5.5&#xff0c;idea&#xff08;eclip…

拆解:淘寶客新玩法之微信淘禮金創建怎么做

最近看到一種新的淘寶客玩法&#xff0c;迫不及待的想分享給大家。微信公眾號查券大家都不陌生&#xff0c;也有不少人都在做這個。最近看到有人在做微信公眾號創建淘禮金。之所以說這個玩法新是因為目前大多數淘客還在做返利。返利有周期長、提現有門檻等痛點。 微信公眾號創建…

基于Springcloud微服務框架智慧工地系統源碼

建筑行業快速發展&#xff0c;各建筑工程的建設規模在不斷擴大&#xff0c;各崗位工作人員的工作內容所涉及的方面也越來越廣泛。隨著信息技術水平不斷提高,人工記錄的方式已經不能夠滿足大項目的管理要求&#xff0c;就此&#xff0c;創造出一種新型的施工管理技術——智慧工地…

攜程token

網址&#xff1a;https://flights.ctrip.com/ 記錄一下這個要我狗命的token 原本以為解決驗證碼就能繼續查機票信息&#xff0c;奈何太年輕&#xff0c;或者說原本以為這個頭部信息的token不重要&#xff0c;其實還是很重要的。 關于查價格 &#xff0c;如果說查詢頻繁之后就…

小型內衣褲洗衣機哪個牌子好?性價比小型洗衣機推薦

內衣內褲應該如何清洗才能實現在不傷衣的同時有能夠洗干凈呢&#xff1f;其實除了使用溫水搭配手洗以外&#xff0c;還有一些清洗方式&#xff0c;那就是選擇一臺專門為內衣定制的內衣洗衣機。目前內衣洗衣機由于精致小巧&#xff0c;方便安裝&#xff0c;方便使用&#xff0c;…

關于內存與實際數據之間一些理解

//// 16位無符號強轉有符號 測試用例// 由于第一位表示正負的位是0&#xff0c;強制轉換有符號后&#xff0c;仍然是0&#xff0c;所以無影響 0-32767 &#xff08;3276715個1&#xff0c;最左邊符號位仍然是0&#xff09;之間都是無影響的unsigned short* pUS new unsigned s…

分布式冪等

分布式冪等 在分布式系統、網絡通信和數據庫操作中&#xff0c;冪等性是一個非常重要的概念&#xff0c;特別是在面對可能發生網絡故障、消息重復、或者系統崩潰等情況時。 舉個簡單的例子&#xff0c;考慮一個銀行轉賬的操作。如果轉賬操作是冪等的&#xff0c;那么無論你執…

PC分頁操作以及loading效果

page-size 每頁顯示條目個數 current-page 當前頁數 total 數據總數 current-change【currentPage 改變時會觸發】 切換分頁時會先加載&#xff0c;等在接口數據&#xff0c;接口返回&#xff0c;加載會關閉&#xff08;在獲取接口數據完畢哪里加上this.loadingfalse&#xff0…

低權限(無權限)時如何在mysql客戶端控制臺的大量輸出中快速定位mysql死鎖或慢sql

查看mysql的查看死鎖的方式很多&#xff0c;但很多時候我們普通開發者的權限比較低&#xff0c;無法執行某命令。比如本次就準備使用 SHOW ENGINE INNODB STATUS;命令&#xff0c;但客戶端提示權限不夠。后來本人找到了另一條低權限的命令 show full PROCESSLIST;但是show fu…

比例減壓閥放大器選型

控制閥型如比例插裝閥、比例方向閥、比例壓力閥、比例流量閥、比例疊加閥等&#xff0c;安裝方式有插式及導軌卡槽式&#xff0c;輸入指令可選0-10V、4-20mA、10V、0-5V&#xff0c;輸出電流可選最大3A&#xff0c;適用各大品牌不帶電反饋常規比例閥匹配度&#xff0c;控制比例…

1553. 吃掉 N 個橘子的最少天數(記憶化+貪心優化)

Problem: 1553. 吃掉 N 個橘子的最少天數 文章目錄 題目思路Code 題目 使得 n 變成0的操作有三種方式 &#xff1a; 吃掉一個橘子。如果剩余橘子數 n 能被 2 整除&#xff0c;那么你可以吃掉 n/2 個橘子。如果剩余橘子數 n 能被 3 整除&#xff0c;那么你可以吃掉 2*(n/3) 個…

易點易動設備管理系統提升設備能耗管理和設備狀態監控效率

如今&#xff0c;能源效率和設備狀態監控對于企業來說變得越發重要。傳統的設備管理方式往往存在能耗浪費和難以實時監控設備狀態的問題。為了解決這些問題&#xff0c;易點易動設備管理系統應運而生。本文將介紹易點易動設備管理系統的功能和優勢&#xff0c;以及如何通過它提…

Oracle數據庫安裝踩坑記錄

Oracle數據庫安裝踩坑記錄 踩坑目錄 可能會用到的教程1. 管理員用戶&#xff08;sys&#xff09;登錄oracle命令2. 默認密碼&#xff1a;三個 如果忘記改密碼參考 1. 登錄后修改密碼3. 查看賬號密碼&#xff1a;只有sys用戶登錄后才能查看4. sqldeveloper 連接oracle數據庫5. o…