【问题标题】:No suitable driver found for jdbc:mariadb://127.0.0.1:3306/mydb?user=root找不到适合 jdbc:mariadb://127.0.0.1:3306/mydb?user=root 的驱动程序
【发布时间】:2020-01-09 15:32:57
【问题描述】:

当我尝试连接到我的数据库时收到此消息。 这是一个使用 Eclipse 和 MariaDB 完成的网络应用程序。

package login.registration;

import java.sql.*;

public class MyConnectionProvider {

    private static Connection con = null;

    public static Connection dbConn() throws SQLException {

        // Connessione

        try {

            Class.forName("org.mariadb.jdbc.Driver");

        } catch (Exception e) {

            System.err.println(e.getMessage());

        } // fine try/catch

        con = DriverManager.getConnection("jdbc:mariadb://127.0.0.1:3306/mydb?user=root"); // aaa è il nome del DB

        return con;
    }

}

我已将 Mysql 连接器 java 放入项目库(项目是一个新的动态 Web 项目)以及 MariaDB java 客户端库。 这里是我调用 dbConn() 的地方:

package login.registration;

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

public class UtenteDAOImpl implements UtenteDAO {

    static Connection con;
    static Statement st;
    static ResultSet rs;

    @Override
    public int insertUtente(Utente user) {

        int status = 0;

        try {
            con = MyConnectionProvider.dbConn();
            st = con.createStatement();
            String sql = "INSERT INTO utenti (username,firstname,lastname,password,password2,email) VALUES ('"
                    + user.getUsername() + "','" + user.getFirstname() + "','"
                    + user.getLastname() + "','" + user.getPassword() + "','" + user.getPassword2() + "','"
                    + user.getEmail() + "')";
            rs = st.executeQuery(sql);
            System.out.println(rs);
            con.close();
            status = 1;

        } catch (Exception e) {

            System.out.println(e.getMessage());
        }

        return status;
    }

    @Override
    public Utente getUtente(String username, String password) {

        Utente user = new Utente();
        try {

            con = MyConnectionProvider.dbConn();
            st=con.createStatement();
            String sql = "SELECT * FROM UTENTI where username = " + username + " and password = " + password;
            rs = st.executeQuery(sql);
            while(rs.next()) {
                user.setUsername(rs.getString(1));
                user.setFirstname(rs.getString(2));
                user.setLastname(rs.getString(3));
                user.setPassword(rs.getString(4));
                user.setPassword2(rs.getString(5));
                user.setEmail(rs.getString(6));
            }
            con.close();

        } catch (Exception e) {

            System.out.println(e.getMessage());
        }

        return user;
    }

}

我将我的数据库与 XAMPP 连接起来,启动我的网络应用程序的服务器是 Tomcat 9.0。 或多或少,我跟随这个应用程序的整个构建观看了这个视频(如果你需要更多信息): https://www.youtube.com/watch?v=7bl8UrkYbaU

那么...如何解决这个问题?提前感谢您的回复!!!

【问题讨论】:

  • 带有 JDBC 驱动程序的 JAR 文件必须在应用程序的 WEB-INF/lib 文件夹中,或者在 Tomcat 的 lib 文件夹中。

标签: java mysql jsp mariadb


【解决方案1】:

mysql 连接器的目的是使用来自以下地址的 MariaDB 连接器/J .jar。

https://mariadb.com/downloads/#connectors

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 2020-10-17
    • 1970-01-01
    • 2012-05-23
    • 2016-09-07
    • 2017-10-21
    • 2016-10-01
    相关资源
    最近更新 更多