Macos用VisualStudioCode如何用Java连接Mysql

背景

初学Java,看了菜鸟上Java连接Mysql的教程,就是缺失了配置jar文件的过程,下载还只有Windows环境和Linux环境.
对于新手,非常疑惑,所以记录一下.如果有和我一样环境的,希望能帮上


使用环境

  • 电脑: Macbook Air 2020
  • 系统: Macos 11
  • 代码工具: Visual Studio Code
  • 数据库:云端Mysql5.7
  • 语言: Java 14.0.1

我没有项目,只是单纯学习,就这点而言,网上基本上就搜不到具体的解决方案了


配置过程

1. 下载Jar文件

2. 导入Jar文件重点

  • 解压下载文件,只取文件夹中的mysql-connector-java-5.1.49.jar文件
    在这里插入图片描述

  • 打开Visual Studio Code,进入软件设置(快捷键,),在设置的搜索栏输入java.project.referencedLibraries1,点击在settings.json中编辑进去
    在这里插入图片描述

  • 复制jar文件的完整地址2,贴在settings.json文件里面3
    在这里插入图片描述

3. Java连接代码

代码即菜鸟上的完整代码,数据库地址,账号和密码被我处理过

import java.sql.*;

public class MysqlDemo {
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://123.123.123.123:3306/hahaha";
    static final String USER = "hahaha";
    static final String PASS = "hahaha";
    
    public static void main(String[] args) {
        Connection  conn = null;
        Statement   stmt = null;

        try {
            // 注册驱动
            Class.forName(JDBC_DRIVER);
            // 打开链接
            System.out.println("Connecting Database...");
            conn = DriverManager.getConnection(DB_URL, USER, PASS);
            // 执行查询
            System.out.println("Instancize Statement...");
            stmt = conn.createStatement();
            String sql;
            sql = "select title,url from hahaha.log_mp_article";
            ResultSet rs = stmt.executeQuery(sql);

            // 查询结果
            while (rs.next()) {
                // 需要明确字段类型
                String title    = rs.getString("title");
                String url      = rs.getString("url");
                // 打印信息
                System.out.print("标题: " + title);
                System.out.print("地址: " + url);
                System.out.print("\n");   
            }
            // 断开数据库连接
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException  se) {
            // JDBC错误
            se.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 再次关闭数据库连接
            try {
                if (stmt != null) stmt.close();
            } catch (SQLException se2) {
                se2.printStackTrace();
            }
        }
        System.out.println("GoodBye!");
    }
}

再运行成功获取数据库内容
在这里插入图片描述


踩过的坑

  1. 下载文件后没有导入,报错
java.lang.ClassNotFoundException
...
  1. 网上大部分都是在Maven或者Eclipse中选择导入build path来导入驱动,但是VSCode没有相应的路径,让人无从下手
  2. 有解决方式是添加classpath,但是是基于Windows系统的,Macos还是太小众的用户
  3. Mysql插件下载官网选择操作系统并没有Macos的选项,让人疑惑,我是都下载了,找到了jar文件才知道在Platform Independent
  4. 和我一样的环境下,jar文件不用进一步解压.因为有些解决方案是解压jar后导入

总结

最终没有答案的时候,还是官方文档靠谱.我就是官方文档得到灵感,需要放入VSCode.一个是Mysql插件的官方说明文档,一个是VSCode的官方说明文档.不过是全英文,需要英文基础

MySQL Connector/J 8.0 Developer Guide

Managing Java Projects in VS Code


注脚


  1. 该设置依赖于VSCode插件Project Manager for Java,在软件中第一次使用Java的时候一般会提示你下载Java,我的插件就是第一次下载Extension Pack for Java的时候自动下载了这个插件.如果没有下载记得去下载 ↩︎

  2. 我的文件地址是/Users/danzhao/onedrive/doc/java/mysql-connector-java-5.1.49.jar ↩︎

  3. 我的是没有java.project.referencedLibraries这一行的,所以我手动新增输入了完整的内容 ↩︎

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

但老师

要是看起来爽 求打赏一耳光

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值