目录

  • 背景
  • 使用环境
  • 配置过程
    • 1. 下载Jar文件
    • 2. 导入Jar文件重点
    • 3. Java连接代码
  • 踩过的坑
  • 总结
  • 注脚

背景

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


使用环境

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

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


配置过程

1. 下载Jar文件

  • 下载地址是Mysql的官网MySQL :: Download Connector/J,需要下载Java连接Mysql的插件
  • 选择Platform Independent,并下载ZIP格式的

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这一行的,所以我手动新增输入了完整的内容 ↩︎

更多推荐

Macos用VisualStudioCode如何用Java连接Mysql