首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.sql.SQLException:没有为jdbc:mysql://localhost:3306/tun_3306找到合适的驱动程序

问java.sql.SQLException:没有为jdbc:mysql://localhost:3306/tun_3306找到合适的驱动程序
EN

Stack Overflow用户
提问于 2014-04-24 04:59:43
回答 3查看 3.8K关注 0票数 0

我是java的新手,我正在尝试制作简单的身份验证接口。

我正在尝试使用DriverManager执行简单的查询。你能帮我理解一下这里有什么问题吗?

1/ MyDBConnection.java

代码语言:javascript
复制
package com.esprit.tunRecrut.util;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.logging.Level;
    import java.util.logging.Logger;


        public class MyDBConnection {

            /**
             * Déclaration des variables pour la connexion
             */
            private String url = "jdbc:mysql://localhost:3306/tun_recrut";
            private String login = "root";
            private String pwd = "";
            private static MyDBConnection instance;
            public static Connection connection;

            private MyDBConnection() {
                try {
                    connection = DriverManager.getConnection(url,login,pwd);

                } catch (SQLException ex) {
                    Logger.getLogger(MyDBConnection.class.getName()).log(Level.SEVERE, null, ex);
                }
            }

            public static Connection getConnection() {
                return connection;
            }

            public static MyDBConnection getInstance() {
                if(instance==null)
                    instance = new MyDBConnection();
                return instance;
            }


        }

2/Crud.java

代码语言:javascript
复制
package com.esprit.tunRecrut.util;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;


public class Crud {

    MyDBConnection mc = MyDBConnection.getInstance();

    public boolean execute(String sql){
        try {
            Statement statement = mc.getConnection().createStatement();
            statement.executeUpdate(sql);
            return true;
        } catch (SQLException ex) {
            Logger.getLogger(Crud.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
    }

    public ResultSet exeRead(String sql){
        try {
            Statement statement = mc.getConnection().createStatement();
            ResultSet rs;
            rs = statement.executeQuery(sql);
            return rs;
        } catch (SQLException ex) {
            Logger.getLogger(Crud.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }

    }


}

在我的userDao.java里

代码语言:javascript
复制
public User findUserByEmailAndPassword(String email, String password) {


     User user=null;
    try {
        String sql = "SELECT * FROM user WHERE email_address = '" + email + "' AND password = '" + password + "'";
        ResultSet rs = crud.exeRead(sql);
        while (rs.next()) {

            user = new User(rs.getInt("id"), rs.getString("type"), rs.getString("email_address"));

        }
        return user;

    } catch (SQLException ex) {
        Logger.getLogger("Client controller").log(Level.SEVERE, " fail");
       // Logger.getLogger("Client DAO").log(Level.SEVERE, null, ex);
        return null;
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-24 05:01:44

类路径上可能缺少mysql-连接器-java-x.jar

票数 5
EN

Stack Overflow用户

发布于 2014-04-24 05:18:50

如果你想在Java中使用'MySql‘,你需要从MySql的网站下载'JConnector’。之后,您需要设置“Classpath”。您可以使用以下命令

代码语言:javascript
复制
    set CLASSPATH="PathtOfMySqlConnector.jar"

或者你可以设置它,你可以设置Java的bin路径。希望能帮上忙。

票数 0
EN

Stack Overflow用户

发布于 2014-04-24 05:18:57

从这里下载mysql-连接器并将其添加到应用程序类路径中。

也许你会发现这个本教程

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23260202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档