日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

自己用纯Java写的这款Mysql客户端工具美哭了,求收藏~

發布時間:2023/12/10 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自己用纯Java写的这款Mysql客户端工具美哭了,求收藏~ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

2022年著實有點忙,但是我依然堅持不放下編寫代碼,又苦于不寫什么?再上半年的一場直播課準備中,一個短暫而宏偉的目標閃現到我的腦海,就是編寫幾個純Java的軟件。于是從3月份就開始著實計劃實施。終于折騰出來了,現在分享給大家。

我先分享軟件的界面,再給大家說說軟件實現的原理!

下載地址

  • 軟件支持Windwos 版本、Mac版本

  • 下載地址:bg-boom-ui

軟件特點

  • 純Java開發

  • 免費使用

直入美圖,期望大家多多支持

支持背景美圖,支持本地圖片、網絡圖片等

支持視頻背景,支持TV、廣播、小視頻、直播流等

支持皮膚+背景圖切換,海量圖片可在軟件中獲取

默認的界面,簡潔清晰

功能支持

  • 基本實現了Navicat的常用功能

  • 更多功能還在陸續開發,敬請期待~

軟件的實現原理

軟件通過Mysql的Jdbc驅動類進行實現,區別于其它軟件基于Mysql通訊協議實現。

核心實現的連接管理實現如下(由于時間關系這里暫沒有實現長連接):

package com.madou.dbtool.mysql.manager;import com.madou.inters.util.TipUtils;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.HashMap; import java.util.Map;/*** 管理多個數據庫的數據源* @author miukoo*/ public class ConnectionManagerFactory {private static final Map<String, Connection> CONNECTION_MAP = new HashMap<>();/*** 最大連接次數*/private static final int maxRetry = 2;public static Connection getConnection(ConnectionInfo connectionInfo,String database) {return getConnection(connectionInfo, database, 0);}/*** 獲取連接,并最多獲取三次* @param connectionInfo* @param database* @param count* @return*/private static Connection getConnection(ConnectionInfo connectionInfo,String database,int count) {if(count>maxRetry) {return null;}String id = String.format("%s-%s-%s",connectionInfo.getHost(),connectionInfo.getPort(),database);Connection connection = CONNECTION_MAP.get(id);if(connection==null) {try {String url = String.format("jdbc:mysql://%s:%d/%s?useUnicode=true&characterEncoding=UTF-8&connectTimeout=500", connectionInfo.getHost(), connectionInfo.getPort(), database);Class.forName("com.mysql.cj.jdbc.Driver");connection = DriverManager.getConnection(url, connectionInfo.getUsername(), connectionInfo.getPassword());} catch (Exception e) {if(count==maxRetry){TipUtils.showErrorDialog("獲取數據庫連接失敗:"+e.getMessage(),"Tips");}else if(count<maxRetry) {return getConnection(connectionInfo, database,count+1);}}}else{try {if(connection.isClosed()){connection=null;if(count<maxRetry) {return getConnection(connectionInfo, database,count+1);}}} catch (SQLException e) {e.printStackTrace();}}CONNECTION_MAP.put(id,connection);return connection;} }

總結

以上是生活随笔為你收集整理的自己用纯Java写的这款Mysql客户端工具美哭了,求收藏~的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。