在 intellij idea 中使用 JDBC/Mysql 连接器

Posted

技术标签:

【中文标题】在 intellij idea 中使用 JDBC/Mysql 连接器【英文标题】:Use JDBC/Mysql Connector in intellij idea 【发布时间】:2015-08-19 12:52:21 【问题描述】:

我是 Java 新手,我需要建立与 mysql 服务器(本地)的连接,我已经在 Intellij idea 中添加了库,但它似乎不起作用,IDE 找不到我认为的类。 ..我疯了,我搜索了两个小时...我来自 Visual Studio/C# 开发环境,我认为我应该错过一些东西...

在这里,您可以从我的 IDE 中获取图片以及我想要使用的简单代码。 你也可以推断出我在我的项目(mysql-jdbc)中已经导入了jar。

IDE pic

编辑: 这是代码,注释显示错误出现的位置:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
import org.*;
import com.mysql.jdbc.Driver;


public class JdbcLogin 
    public String Login;
    public String MotDePasse;
    private boolean Logged = false;

    public void StartBdd()
        String driverName = "com.mysql.jdbc.Driver";
        Class.forName(driverName); // here is the ClassNotFoundException

        String serverName = "localhost";
        String mydatabase = "suptodo";
        String url = "jdbc:mysql://" + serverName + "/" + mydatabase;

        String username = "root";
        String password = "azerty";
        Connection connection = DriverManager.getConnection(url, username, password);
    

【问题讨论】:

把你的代码放在问题里,并格式化,不要放IDE的图片。 感谢您的帮助,我对帖子进行了编辑,我认为图片会更好,所以我应该删除导入行吗?它刚刚写在鼠标悬停“未使用的导入语句”上......再次感谢! 在现代 JDBC 中,您根本不应该有该行 (Class.forName...)。不过,您需要将 jar 放在类路径中。 您可以将图片链接作为附加资源,但不能仅作为资源。还要添加错误消息。无论如何,你为什么需要import org.*;import com.mysql.jdbc.Driver; intellij 的类路径与您的项目/应用程序的类路径不同。确保将库添加到项目的构建路径中! 【参考方案1】:

您必须从 maven 添加 'mysql:mysql-connector-java:5.1.40' 或将其添加为 java 库,如图所示:

【讨论】:

【参考方案2】:

解决方案#1:将 mysql-connector-java-version-bin.jar 文件拖放到您的项目中,右键单击它,选择“添加为库”。

解决方案#2:使用命令行构建和运行,例如(Windows)

javac 你的类名 java -cp".;mysql-connector-java-version-bin.jar" 你的类名

【讨论】:

如何直接编辑IntelliJ使用的命令行字符串?【参考方案3】:

首先打开 InteliJ IDE 并按照这个简单的步骤进行配置很容易

File->Project Structure->Libraries

然后点击加号(+)并选择From Meven....

在你得到一个搜索框后,你应该放在那里

mysql:mysql-connector-java:5.1.40

这将解决问题

【讨论】:

这就是你需要做的所有事情,对于那些来自 C# 背景的人来说,不要寻找名为 mysql 的命名空间 - 这会将类/驱动程序等添加到现有的 java.sql 命名空间中以添加连接mysql的功能。您最好开始编写一些 mysql 测试代码,并在连接失败时添加上述库。【参考方案4】:

如果显示时区无法识别,您可以将这段代码添加到 URL:

Connection connection = DriverManager.getConnection("jdbc:mysql://localhost?useTimezone=true&serverTimezone=UTC","USER-NAME","PASSWORD");

别忘了用 try-catch 包装它。

【讨论】:

【参考方案5】:

作为更新,这将与 mysql:mysql-connector-java:8.0.18 一起使用,因为其他版本会产生新问题并且不会连接到数据库服务器。

【讨论】:

以上是关于在 intellij idea 中使用 JDBC/Mysql 连接器的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ IDEA载入JDBC驱动

IntelliJ IDEA+Mysql connecter/j JDBC驱动连接

用Intellij Idea创建一个普通的Java工程并用JDBC连接数据库

IntelliJ IDEA 上的web项目进行数据库连接时出现java.lang.ClassNotFoundException: com.mysql.jdbc.Driver错误解决办法

IntelliJ IDEA添加jar包

ubuntu18安装MySQL5.7和可视化Navicat,intellIj IDEA配置JDBC连接Java的jar包