eclipse连接数据库出现 Access denied for user ''@'localhost' (using password: YES)

package com.amaker.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.amaker.dao.UserDao;
import com.amaker.entity.User;
import com.amaker.util.DBUtil;

public class UserDaoImpl implements UserDao{
public User login(String account,String password){
String sql = "select id,account,password,name,permission,remark from usertbl where account=? and password=?";
DBUtil util = new DBUtil();
Connection conn = util.openConnection();
try{
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, account);
pstmt.setString(2, password);
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
int id = rs.getInt(1);
String name = rs.getString(4);
String permission = rs.getString(5);
String remark = rs.getString(6);

User u = new User();

u.setId(id);
u.setPassword(password);
u.setAccount(account);
u.setName(name);
u.setPermission(permission);
u.setRemark(remark);
return u;

}
}catch (SQLException e){
e.printStackTrace();
}finally{
util.closeConn(conn);
}
return null;

}

public static void main(String[] args) {
UserDao dao = new UserDaoImpl();
User u = dao.login("lx", "123");
System.out.println(u.getAccount());
}
}
这是文件代码
运行后Console会出现这段代码

方法/步骤

1、Eclipse实现与数据库的连接,需要添加相应的jar包。打开Eclipse,在要与数据库连接的项目中选择New-->Folder,如图所示:

2、输入承载jar包的文件夹名称lib,如图所示:

3、将MySQL数据库连接的jar包复制到lib 文件夹中,然后选择该jar包,右击 ,选择Build Path-->Add to build path,如图所示:

4、接下来就是代码连接数据库,输入以下代码,如图所示:

具体如下:

1、简介

编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,是计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。

2、汇编程序

汇编程序。使用汇编语言编写计算机程序,程序员仍然需要十分熟悉计算机系统的硬件结构,所以从程序设计本身上来看仍然是低效率的、繁琐的。但正是由于汇编语言与计算机硬件系统关系密切,在某些特定的场合,如对时空效率要求很高的系统核心程序以及实时控制程序等,迄今为止汇编语言仍然是十分有效的程序设计工具。

3、执行原理

计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。这种将高级编程硬件程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-11
你先用别的客户端的登录试试行不行,如果不行也有可能是密码不对,我不知道你是怎么确认密码正确的。还有一个可能就是你的数据库是不是装在别的机器上的mysql默认只支持localhost的登录如果IP不是127.0.0.1的话就有可能出现登录不了的情况。追问

用的SQLyog登录,用户名密码正确的,当ip改成127.0.01也不能登录

追答

如果mysql服务器和客户端不在同一台电脑上:
你用SQLyog 执行下面的语句
SELECT * FROM mysql.user

看你的那个用户Host是不是% 如果不是改成% 立即生效的命令忘记了,直接重启mysql吧。

这样应该可以。
或者也有可能是JDBC驱动不匹配引起的问题。

第2个回答  2014-03-11
检查jdbc的url是否正确
第3个回答  2014-03-11
很大可能性是数据库的设置问题,参考如下方法解决:
http://www.dedecms.com/knowledge/data-base/mysql/2012/0819/7698.html追问

我的是因为Eclipse连接数据不成功,用户名密码都正确

追答

首先应该排除数据库本身的问题,这个应该比较容易,你通过命令行或客户端工具试着执行下你的SQL就可以判断了。
在确保数据库没问题后,再判断程序有没有问题,如果确信用户名和密码都是正确的,那么就要考虑下这两个值在创建连接时是否被正确的传递了。可以单步debug下试试。

本回答被网友采纳