前两个是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>
注意:在关闭数据库操作对象时应该倒序关闭,也许数据少,你可能感觉不到有什么问题,当连接的数据库多了之后就会出现问题。