2011-03-08 79 views
2

我想在NetBeans的Spring/Hibernate項目中運行MySQL數據庫連接。然而,我進行部署時總是得到又一個jdbc:mysql沒有合適的驅動程序,Spring +休眠

java.sql.SQLException: No suitable driver found for "jdbc:mysql://127.0.0.1/test" 

例外。迄今爲止我讀過的解決方案都不能解決我的問題。

的applicationContext.xml:

<bean id="myDataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource" 
     p:driverClassName="com.mysql.jdbc.Driver" 
     p:url="${database.url}" 
     p:username="${database.username}" 
     p:password="${database.password}" /> 

其中數據庫*存儲在屬性文件。 jdbc連接器.jar文件在庫中列出(即設置了類路徑)。當我展開它時,列出了com.mysql.jdbc.Driver。

我試過本機安裝的連接器並下載了我能找到的最新版本(5.1.15)。通過點擊NetBeans服務選項卡中的「連接」,我可以使用相同的驅動程序連接之前配置的jdbc連接器。當IDE外部使用此示例代碼,它也可以工作:

import java.sql.*; 
import java.util.Properties; 
public class DBDemo 
{ 
private static final String dbClassName = "com.mysql.jdbc.Driver"; 
private static final String CONNECTION = "jdbc:mysql://127.0.0.1/test"; 
public static void main(String[] args) throws ClassNotFoundException 
{ 
    System.out.println(dbClassName); 
    Class.forName(dbClassName); 
    Properties p = new Properties(); 
    p.put("user","root"); 
    p.put("password","root"); 
    Connection c = DriverManager.getConnection(CONNECTION,p); 
    System.out.println("It works !"); 
    c.close(); 
} 
} 

什麼我可以做錯了任何想法?

回答

3

如果司機失蹤,你寧願看到ClassNotFoundException

這個特別的意思是沒有一個加載的驅動程序接受給定的URL。我會說,那些引號看起來很可疑,通常不會出現在這個例外中。 ${database.url}從哪裏來?它是否包含引號?擺脫他們。

+0

引號來自屬性文件,但如果我刪除引號,它仍然會產生相同的錯誤 – 2011-03-08 22:14:14

+0

您是否重建/重新部署/重新啓動? – BalusC 2011-03-08 22:15:59

+0

以上全部,是 – 2011-03-08 22:17:23

1

您是否已將應用程序部署到web容器上?如果是,那麼你確定mysql db驅動程序打包在WEB-INF/lib目錄中(在部署中)。

在Netbeans的庫下看到的擴展jar可能並不意味着它可以在部署站點上啓動您的web應用程序。

+0

現在部署站點只是dist目錄,並且連接器庫在那裏 – 2011-03-08 22:16:22

相關問題