2013-06-30 61 views
0

當我執行我的主類我得到這個執行 不能找出問題點如何解決==> org.hibernate.exception.GenericJDBCException:無法打開連接

的錯誤出現在該行 交易tr = session.beginTransaction();

錯誤堆棧說:

ERROR: Access denied for user 'root'@'localhost' (using password: NO) 
error===>org.hibernate.exception.GenericJDBCException: Could not open connection 

我的主類文件:

package com.hussi.model; 

import org.hibernate.Session; 
import org.hibernate.SessionFactory; 
import org.hibernate.Transaction; 
import org.hibernate.cfg.Configuration; 

public class Main { 
    public static void main(String[] args) 
    { 
     User user = new User(); 
     user.setUser_id(1); 
     user.setUsername("hussi"); 
     user.setPassword("maria"); 
     SessionFactory sesionFactory = new Configuration().configure().buildSessionFactory() ; 
     Session session = sesionFactory.openSession(); 
     try{ 
     Transaction tr = session.beginTransaction(); 
     session.save(user); 
     } 
     catch(Exception e) 
     { 
      System.out.println("error===>"+e); 
     } 

     finally 
     { 
     session.flush(); 
     session.close(); 
     } 
    } 

} 

我的模型文件

package com.hussi.model; 

public class User 
{ 
    int user_id; 
    String username; 
    String password; 

    public int getUser_id() { 
     return user_id; 
    } 
    public void setUser_id(int user_id) { 
     this.user_id = user_id; 
    } 


    public String getUsername() { 
     return username; 
    } 
    public void setUsername(String username) { 
     this.username = username; 
    } 


    public String getPassword() { 
     return password; 
    } 
    public void setPassword(String password) { 
     this.password = password; 
    } 

    public String toString() 
    { 
     return "username==>"+this.username+" : password==>"+this.password; 
    } 

} 

我user.hbm.xml文件

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 

<hibernate-mapping> 
    <class name="com.hussi.model.User" table="users"> 
     <id name="user_id" type="int" column="user_id"> 
      <generator class="increment" /> 
     </id> 

     <property name="username"> 
      <column name="username"/> 
     </property> 

     <property name="password"> 
      <column name="password"/> 
     </property> 
    </class> 
</hibernate-mapping> 

我的Hibernate配置文件:hibernate.cfg.xml中

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC 
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory> 
     <!-- Database connection settings --> 
     <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
     <property name="connection.url">jdbc:mysql://localhost:3306/my_hibernate_1</property> 
     <property name="connection.username">root</property> 
     <property name="connecttion.password">root</property> 

     <!-- Database connection settings --> 
     <property name="connection.pool_size">1</property> 

     <!-- MySql Dialect --> 
     <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 

     <!-- Echo all executed SQL to stdout --> 
     <property name="show_sql">false</property> 

     <mapping resource="user.hbm.xml"/> 
    </session-factory> 
</hibernate-configuration> 
+0

您需要授予訪問根目錄訪問'my_hibernate_1' – Reimeus

+0

@Reimeus:我怎麼能做到這一點? –

+0

它在[docs](http://dev.mysql.com/doc/refman/5.1/en/adding-users.html) – Reimeus

回答

相關問題