為了能和MySql數據庫服務器管理的數據庫建立連接,必須保證該MySql數據庫服務器已經啟動,如果沒有更改過MySql數據庫服務器的配置,那么該數據庫服務器占用的端口是3306。
使用純Java數據庫驅動程序方式與數據庫建立連接需要經過加載純Java驅動程序,然后再和指定的數據庫建立連接。
(1)加載純Java驅動程序。
可以登錄MySql的官方網站http://www.mysql.com,下載驅動程序,如mysql-connector-java-5.0.24.zip,將該ZIP文件解壓至硬盤,在解壓目錄下的mysql-connector-java-5.0.24-bin.jar文件就是連接MySql數據庫的純Java驅動程序。將該驅動程序復制到Tomcat服務器所使用的JDK的\jre\lib\ext文件夾中,如D:\jdk1.5\jre\lib\ext,或復制到Tomcat服務器安裝目錄的\common\lib文件夾中,如D:\apache-tomcat-5.5.20\common\lib。然后重新啟動Tomcat服務器。
應用程序加載MySql驅動程序代碼如下:
Try{
Class.forName(“com.mysql.jdbc.Driver”);
}
Catch(Exception e){}
(2)與指定的數據庫建立連接。
假設應用程序和MySql服務器在同一台計算機上,那么應用程序和數據庫Car建立連接的代碼如下:
Try{
String uri=”jdbc:mysql://localhost:3306/Car”;
String user=”root”;
String password=”123”;
Con=DriverManager.getConnection(uri,user,password);
}
Catch(SQLException e){}
其中,root用戶有權訪問數據庫Car,root用戶的密碼是123。如果root用戶沒有設置密碼,那么將上述String password=”123”;更改為String password=””;
例1 JSP頁面連接MySql數據庫auction、查詢auction_admin表。
linkMysql.jsp
<%@ page contentType="text/html;charset=utf-8"%> <%@ page import="java.sql.*"%> <html> <body> <% Connection con; Statement sql; ResultSet rs; try{Class.forName("com.mysql.jdbc.Driver").newInstance();} catch(Exception e){out.print(e);} try{ String uri="jdbc:mysql://localhost:3306/auction"; con=DriverManager.getConnection(uri,"root",""); sql=con.createStatement(); rs=sql.executeQuery("SELECT * FROM auction_user"); out.print("<table border=2>"); out.print("<tr>"); out.print("<th width=100>"+"user_id"); out.print("<th width=100>"+"username"); out.print("<th width=100>"+"userpass"); out.print("<th width=100>"+"email"); out.print("</tr>"); while(rs.next()){ out.print("<tr>"); out.print("<td>"+rs.getString(1)+"</td>"); out.print("<td>"+rs.getString(2)+"</td>"); out.print("<td>"+rs.getString(3)+"</td>"); out.print("<td>"+rs.getString(4)+"</td>"); out.print("</tr>"); } out.print("</table>"); con.close(); } catch(SQLException e1){out.print(e1);} %> </body> </html>
運行結果如圖所示: