ITPub博客

首页 > > > 数据库连接问题

数据库连接问题

作者:lilyone 时间:2019-09-25 14:42:35 0 删除 编辑

数据库连接问题(Access denied for user 'root '@'localhost' (using password: YES))


我上百度搜了很久,说是权限问题,或者修改下密码之类的,但是显然不是我遇到的问题。

给大家看一下我的代码(报错):

下面就是我的代码,其他地方的应该就不用黏贴了吧。

神奇的地方是,我把getConnection()方法中return中DriverManager.getConnection(url,userName,userPassword);

中的userName变量换成常量"root"程序就能正常执行,我真的很苦恼。

每次遇到这种奇怪的问题我都会觉得是我的ide有问题,可是最后事实证明是某些小细节,但是我这次还是奇怪是不是我的ide有问题,因为我上几个小项目也是这样的写法除了类名有变更,基本代码一致,可是偏偏我这个会报错。。求解啊。。。头疼

package deep.common;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

/**
 * jdbc数据帮助类
 * @author DeepSleeping
 *
 */
public class DBUtil {
    
    private static String driver;
    private static String url;
    private static String userName;
    private static String userPassword;

    //获取连接
    static{    
        try {
            InputStream ins = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");
            Properties prop = new Properties();
            prop.load(ins);
            
            //获取数据库连接必要数据
            driver = prop.getProperty("driver");
            url = prop.getProperty("url");
            userName = prop.getProperty("userName");
            userPassword = prop.getProperty("userPassword");
            
            System.out.println("driver = " + driver);
            System.out.println("url = " + url);
            System.out.println("userName = " + userName);
            System.out.println("userPassword = " + userPassword);
            
            //加载驱动
            Class.forName(driver);
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
    /**
     * 获取连接
     * @return
     * @throws SQLException 
     */
    public static Connection getConnection() throws SQLException{
        /*用变量userName就会出错不知道为什么*/
        return DriverManager.getConnection(url,userName,userPassword);
    }
    
    /**
     * 释放连接
     */
    
    public static  void release(Connection conn,PreparedStatement ps,ResultSet rs){
        
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if (ps != null) {
            try {
                ps.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4635/viewspace-3130451/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-01

  • 博文量
    159
  • 访问量
    977