必做题1
纯Java驱动,并在JSP中调用,能够浏览表中所有记录。
代码
DBUtil.java:用于实现对数据库的连接封装类
package ex08;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtil {
private static final String DBURL = "jdbc:mysql://localhost:3306/test";
private static final String DBUSER = "root";
private static final String DBPWD = "";
private static final String DBDRIVER = "com.mysql.jdbc.Driver";
public DBUtil () {
try {
Class.forName(DBDRIVER);
}catch(ClassNotFoundException ex) {
throw new RuntimeException(ex);
}
}
// 数据库连接
public Connection getCon() throws Exception{
Connection con = null;
try {
con = DriverManager.getConnection(DBURL,DBUSER,DBPWD);
}catch(SQLException e) {
System.err.print(e);
}
return con;
}
// 关闭数据库连接
public void closeCon(Connection con) throws Exception{
if(con != null) {
con.close();
}
}
// 测试
public static void main(String []args) {
DBUtil dbutil = new DBUtil();
try {
dbutil.getCon();
System.out.println("数据库连接成功!");
}catch(Exception e) {
e.printStackTrace();
}
}
}
JDBC_TEST.jsp:调用javaBean中的类进行数据库连接,并显示页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="ex08.*" import="java.sql.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border='1' cellspacing='0' align='center' style='width:40%'>
<tr>
<td>记录数</td><td>学号</td><td>姓名</td><td>性别</td><td>出生日期</td><td>专业</td>
</tr>
<%
try {
DBUtil dbutil = new DBUtil();
Connection con = dbutil.getCon();
String sql = "select * from students";
PreparedStatement pstmt = con.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
// rs.beforeFirst(); 一开始就是在最前面
while(rs.next()){
%>
<tr>
<td><%=rs.getRow() %></td>
<td><%=rs.getString("Sno") %></td>
<td><%=rs.getString("Sname") %></td>
<td><%=rs.getString("Ssex") %></td>
<td><%=rs.getString("Sbirthday") %></td>
<td><%=rs.getString("Sdept") %></td>
</tr>
<% }
}catch(Exception e) {
e.printStackTrace();
}
%>
</table>
</body>
</html>