MyEclipse連接MySQL的問題淺析
MyEclipse連接MySQL的問題的來由,本來之前已經在Eclipse下做好了那個名片管理系統,可是用了段時間的Eclipse,覺得裝上各種插件之后Eclipse變得好卡好卡,點什么都要反應好一會兒,尤其是開始的時候,于是決定改成用MyEclipse來學習Struts2。
遇到的第一個問題,就是在MyEclipse中連接數據庫MySQL。按照之前在Eclipse中連接MySQL的方法沒有成功,總是提示java.sql.SQLException: No suitable driver 也就是沒有找到合適的數據庫驅動程序。于是尋找解決方法,按照網上給出的若干方法嘗試,比如將mysql-connector的那個jar包放到各種各樣的位置,然后加一環境變量中等等。結果都沒有成功。于是又打開了MySQL自帶的那個幫助文檔connector-j,里面說的方法也是把那個jar包加到環境變量中,不過我試了也沒有成功。
然后我就懷疑是不是自己的測試程序寫錯了,于是又把Eclipse打開,比照了一下,沒有發現問題。雖然按照connector-j的方法沒有成功,但也給了我一點提示,里面說如果是java-web開發的話,就要把那個jar包放到WEB-INF的lib目錄下,因為這是個標準的加載第三方庫的地方。于是我就想假設我不做web,只是一個application的測試程序,那么也就不要放到這個lib目錄下,而是放到jre system library下了。于是,把mysql驅動帶的那個jar包放到%java_home%下的各個可能目錄下,結果在MyEclipse的jre system library下都沒有發現這個包。仔細一看,嚇了一跳,發現問題的本質所在,原來MyEclipse中默認使用的是MyEclipse自己提供的一個jre庫,而不是使用我們安裝的那個。知道這個,問題就好辦了。在新建工程的時候,不用MyEclipse提供的那個jre庫,手動到目錄中選擇安裝的那個jre,這里有個小地方要注意一下,選擇jre home directory的時候選擇到jdk的根目錄就好了,比如說我的安裝在R:\program\jdk1.6,那么選擇的路徑也就是這個了,當然還是要把MySQL驅動程序提供的那個包復制到%java_home%\jre\lib\ext中。再次執行測試程序,輸出"connect successfully"
另外一種方法,就不需要在重建一個工程了。右鍵點擊JRE System Library->Build Path->Configure Build Path,再選擇右側的Edit按鈕,在Alternate JRE中選擇到自己安裝的那個,如果沒有,就點旁邊的Installed JREs來找到即可。
測試程序:
- package com.javaeye.rennyit.dbtest;
- import java.sql.DriverManager;
- import java.sql.Connection;
- import java.sql.SQLException;
- public class MySQLTest {
- private static String dburl = "jdbc:mysql://localhost:3306/Cardms?user=root&password=mysql";
- public MySQLTest() {
- try {
- Connection con = DriverManager.getConnection(dburl);
- System.out.println("connect successfully");
- } catch(SQLException se) {
- se.printStackTrace();
- }
- }
- public static void main(String[] args) {
- new MySQLTest();
- }
- }
當然其中dburl根據實際情況確定,上面的測試程序中Cardms指在數據庫中自己建立的數據庫名。
MyEclipse連接MySQL的問題就介紹到這里,希望對你有幫助。
【編輯推薦】