书上找的 但书的是错的上少了句话:Class.forName(driver);一直不对,现在终于对了
下边的java类是连接数据库的基础类:
package csai.db; import java.sql.Connection; import java.sql.DriverManager; public class DBConn { public static Connection createDBConn(){ try{ String driver = "com.mysql.jdbc.Driver"; Class.forName(driver); Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/student","root","xxx"); return conn; }catch(Exception e){ e.printStackTrace(); return null; } } public static void closeConn(Connection conn){ try{ conn.close(); }catch(Exception e){ e.printStackTrace(); } } }
下边是jsp页面
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@page import='csai.db.DBConn, java.sql.*' %> <%Connection conn=DBConn.createDBConn(); %> <!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=ISO-8859-1"> <title>Insert title here</title> </head> <body> <table id='main'> <tr> <td width='20%'>学生id</td> <td width='20%'>学生姓名</td> <td width='20%'>所在年级</td> <td width='20%'>所在专业</td> <td width='20%'>所选课程</td> </tr> <tr> <% String sql="select * from student"; Statement statetemp=conn.createStatement(); ResultSet rstemp=statetemp.executeQuery(sql); while(rstemp.next()){ int studentId=rstemp.getInt("id"); String studentName=rstemp.getString("name"); String studentGrade=rstemp.getString("grade"); String studentMajor=rstemp.getString("major"); String studentClass=rstemp.getString("class"); %> <td><%= studentId%></td> <td><%=studentName %></td> <td><%=studentGrade %></td> <td><%=studentMajor %></td> <td><%=studentClass %></td> <% } %> </tr> </table> </body> </html>