JSP與MySQL連線非常簡單,請依如下操作即可
jdbc 驅動
請先到MySQL官網 https://dev.mysql.com/downloads/connector/j/ 下載最新版本的驅動程式,Operating System請選取 Platform Independent,然後再選取 zip檔。
下載完成後,請將zip檔解開,然後將 .jar檔(mysql-connector-java-8.0.25.jar) copy 到 C:\Program Files\Apache Software Foundation\Tomcat 10.0\lib 之下。
請注意,將.jar copy完成後,記得還要重新啟動 Tomcat,否則是無法生效的。
JSP網頁
如下內容中,需先使用 Class.forName(“com.mysql.cj.jdbc.Driver”) 載入MySQL 8.0的驅動程式。請注意,如果使用MySQL5.0的驅動程式,驅動程式名稱為 “com.mysql.jdbc.Driver” (也就是說,不用 “cj”)。
再來使用 DriverManager.getConnection(url,user,pass) 產生 conn物件與資料庫連線。連線成功後即可使用 conn.createStatement()產生命令物件 stmt,然後再使用stmt.executeQuery(“SQL查詢語法”) 產生查詢後的ResultSet 物件。
如果 stmt裏的語法為刪除,新增,修改等沒有傳回值時,則需使用 stmt.executeUpdate(“SQL語法”) 進行資料庫的操作。
<body>
<%!
String user = "student";
String pass = "1234";
String db = "travel";
String url = String.format(
"jdbc:mysql://localhost:3306/%s?useUnicode=true&characterEncoding=UTF-8",
db);
Connection conn;
Statement stmt;
%>
<%
try{
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url,user,pass);
}
catch(SQLException e){
out.println("SQL Exception : " + e);
}
%>
<table border="1" cellpadding="0" cellspacing="0">
<%
//顯示資料庫內容
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from member");
while (rs.next()) {
out.println("<tr>");
out.println(String.format("<td>%s</td><td>%s</td><td>%s</td>",
rs.getString(2),
rs.getString(3),
rs.getString(4)));
out.println("</tr>");
}
%>
</table>
</body>