前兩個是java連接數據庫的典型方式,雖然除了JDBC還有odbc的方式,但odbc的效率和跨平臺都不理想,所以現在的趨勢就是使用JDBC來連接需要的數據庫(我以MySQL爲例),這節將介紹JSP中如何實現連接數據庫,其實原理都一樣,只是技術不同,建議在看本節知識的時候,以及對JSP技術和前端知識有一定的瞭解,要不然,或許不好理解。
以下是代碼:
<%@ page language="java" import="java.sql.*" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>數據庫查詢</title>
</head>
<body>
<table width="75%" border="1" align="center">
<tr>
<td>學號</td>
<td>姓名</td>
<td>性別</td>
<td>籍貫</td>
<td>所屬系部</td>
<td>聯繫電話</td>
<td>E_mail</td>
</tr>
<%
try{
Class.forName("com.mysql.jdbc.Driver");//第一步:加載jdbc驅動程序(通過java.lang.Class類的靜態方法forName)
} catch(ClassNotFoundException e){
out.println(e.getMessage());
}
try{
//第二步:提供url+用戶名+密碼
//第三步:創建數據庫的連接(向java.sql.DriverManger請求並獲取Connection對象)
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bookinfo","root","123456");
Statement st = conn.createStatement();//第四步:創建一個Statement
ResultSet rs = st.executeQuery("select * from student");//第五步:執行sql語句
//第六步:執行處理1.執行更新2.執行查詢
while(rs.next()){
String id = rs.getString("id");
String name = rs.getString("name");
String jiguan = rs.getString("jiguan");
String department = rs.getString("department");
String sex = rs.getString("sex");
String tel = rs.getString("tel");
String email = rs.getString("email");
out.print("<tr><td>"+id+"</td>");
out.print("<td>"+name+"</td>");
out.print("<td>"+jiguan+"</td>");
out.print("<td>"+department+"</td>");
out.print("<td>"+sex+"</td>");
out.print("<td>"+tel+"</td>");
out.print("<td>"+email+"</td></tr>");
}
out.print("</table>");
//第七步:關閉jdbc對象
rs.close();
st.close();
conn.close();
} catch(Exception e){
out.println(e.getMessage());
}
%>
</body>
</html>
注意:在關閉數據庫操作對象時應該倒序關閉,也許數據少,你可能感覺不到有什麼問題,當連接的數據庫多了之後就會出現問題。