严重: null
java.sql.SQLException: Access denied for user 'root'@'192.168.1.100' (using password: YES)mysql> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *7820354FA39E9B967F91EA31D397DC1E788D4D43 |
| book | %         | *7820354FA39E9B967F91EA31D397DC1E788D4D43 |
| root | %         | *7820354FA39E9B967F91EA31D397DC1E788D4D43 |
+------+-----------+-------------------------------------------+我sql里的用户

解决方案 »

  1.   

    Access denied: 拒绝访问,应该是用户名或密码不对,仔细想想
      

  2.   

    给提供一个我写的连接。通过更改配置文件可以连接不同数据库。连接类 :DBUtils.java
    package com.yika.utils;
    import java.sql.*;
    import java.util.*;
    import java.io.*;
    public class DBUtils {
    private static String driverName;
    private static String url;
    private static String hostName;
    private static String port;
    private static String databaseName;
    private static String user;
    private static String password;
    private DBUtils(){}
    static{
    Properties prop=new Properties();
    InputStream is=DBUtils.class.getResourceAsStream("DBConfig.properties");
    try {
    prop.load(is);
    driverName=prop.getProperty("driverName");
    url=prop.getProperty("url");
    hostName=prop.getProperty("hostName");
    port=prop.getProperty("port");
    databaseName=prop.getProperty("databaseName");
    user=prop.getProperty("user");
    password=prop.getProperty("password");
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    try {
    Class.forName(driverName);
    } catch (ClassNotFoundException e) {
    System.out.println("驱动加载失败");
    }
    }
    public static Connection getConn(){
    Connection conn=null;
    try {
    conn=DriverManager.getConnection(url+hostName+port+databaseName,user,password);
    } catch (SQLException e) {
    System.out.println("数据库连接失败");
    }
    return conn;
    }
    public static PreparedStatement getPstmt(Connection conn,String sql){
    PreparedStatement pstmt=null;
    try {
    pstmt=conn.prepareStatement(sql);
    } catch (SQLException e) {
    System.out.println("Exception");
    }
    return pstmt;
    }
    public static PreparedStatement getPstmt(Connection conn,String sql,int autoGeneratedKeys){
    PreparedStatement pstmt=null;
    try {
    pstmt=conn.prepareStatement(sql, autoGeneratedKeys);
    } catch (SQLException e) {
    System.out.println("Exception");
    }
    return pstmt;
    }
    public static ResultSet getRs(PreparedStatement pstmt){
    ResultSet rs=null;
    try {
    rs=pstmt.executeQuery();
    } catch (SQLException e) {
    System.out.println("数据查询失败");
    }
    return rs;
    }
    public static int update(PreparedStatement pstmt){
    int result=0;
    try {
    result=pstmt.executeUpdate();
    } catch (SQLException e) {
    System.out.println("数据更新失败");
    }
    return result;
    }
    public static void close(ResultSet rs){
    if(rs!=null){
    try {
    rs.close();
    } catch (SQLException e) {
    System.out.println("Rs关闭失败。。");
    }
    rs=null;
    }
    }
    public static void close(PreparedStatement pstmt){
    if(pstmt!=null){
    try {
    pstmt.close();
    } catch (SQLException e) {
    System.out.println("Pstmt关闭失败");
    }
    pstmt=null;
    }
    }
    public static void close(Connection conn){
    if(conn!=null){
    try {
    conn.close();
    } catch (SQLException e) {
    System.out.println("关闭数据库连接出错");
    }
    conn=null;
    }
    }}配置文件:DBConfig.properties
    #mysql
    driverName=com.mysql.jdbc.Driver
    url=jdbc:mysql://
    hostName=localhost
    port=:3306
    databaseName=/bbs
    user=root
    password=root
      

  3.   

    发到上面怎么格式都没了。。在eclipse中ctrl+shift+f一下。