栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自己用纯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;


public class ConnectionManagerFactory {

    private static final Map CONNECTION_MAP = new HashMap<>();
    
    private static final int maxRetry = 2;
    public static Connection getConnection(ConnectionInfo connectionInfo,String database) {
        return getConnection(connectionInfo, database, 0);
    }

    
    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 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/887573.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号