You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在MacOS下使用JDBC连接Java文件与MySQL(无IDE环境)

嘿,我刚好在Mac上用过纯文本编辑器搞Java连MySQL,给你捋一遍清晰的步骤,比IDE里操作其实更直观:

第一步:准备MySQL JDBC驱动

首先得把MySQL的JDBC驱动包搞到手——去MySQL官网下载Connector/J(就是Java连接MySQL的驱动),选对应你MySQL版本的包(比如MySQL 8.0就下8.x的驱动)。解压后你会得到一个类似mysql-connector-java-8.0.36.jar的文件,建议把它放到一个固定的文件夹里,比如~/java/libs/,方便后续一直用。

第二步:编写Java连接代码

用Sublime Text新建一个.java文件(比如叫MySQLConnector.java),然后把下面的示例代码粘进去,记得替换里面的数据库名、用户名和密码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class MySQLConnector {
    public static void main(String[] args) {
        // MySQL 8.0+ 驱动类名
        String driver = "com.mysql.cj.jdbc.Driver";
        // 数据库连接URL,替换成你的数据库名
        String url = "jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC";
        // 你的MySQL用户名和密码
        String user = "your_username";
        String password = "your_password";

        try {
            // 加载驱动
            Class.forName(driver);
            // 建立连接
            Connection conn = DriverManager.getConnection(url, user, password);
            System.out.println("数据库连接成功!");

            // 简单测试:执行查询
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM your_table_name");
            while (rs.next()) {
                // 替换成你的表字段,比如rs.getString("id")
                System.out.println(rs.getString("column_name"));
            }

            // 关闭资源
            rs.close();
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
第三步:编译Java文件(带驱动路径)

打开终端,切换到你保存.java文件的目录,然后执行编译命令——这里必须指定驱动的路径,不然编译器找不到JDBC的类:

javac -cp ~/java/libs/mysql-connector-java-8.0.36.jar MySQLConnector.java

解释下:-cp是classpath的缩写,告诉编译器去哪里找依赖的类文件,后面跟着你刚才放驱动jar的路径。

第四步:运行编译后的程序

编译成功后,终端里会生成一个MySQLConnector.class文件,接下来用这个命令运行:

java -cp .:~/java/libs/mysql-connector-java-8.0.36.jar MySQLConnector

这里的.表示当前目录(让JVM找到你编译的class文件),冒号:是Mac上classpath的分隔符,后面跟着驱动jar的路径。

几个实用小提示
  • 确保MySQL服务已经启动:如果是用Homebrew装的MySQL,终端里敲brew services start mysql就能启动;也可以去系统偏好设置里找MySQL图标启动。
  • MySQL 8.0+的注意点:驱动类必须用com.mysql.cj.jdbc.Driver(旧的com.mysql.jdbc.Driver已经废弃),而且URL里必须加serverTimezone参数,不然会报时区错误。
  • 偷懒小技巧:如果不想每次编译运行都写长长的驱动路径,可以把驱动路径加到环境变量里。打开~/.zshrc(如果用的是bash就改~/.bash_profile),加一行:
    export CLASSPATH=$CLASSPATH:~/java/libs/mysql-connector-java-8.0.36.jar
    
    然后终端里敲source ~/.zshrc生效,之后编译运行就可以直接用javac MySQLConnector.javajava MySQLConnector了。

内容的提问来源于stack exchange,提问作者Jesús Enrique Arriaga Gómez

火山引擎 最新活动