实验十一 连接数据库实验(V2.0)
一、实验目的
1. 连接MS SQL Server2005数据库
2. 读取数据库到Web页面
二、实验内容
1.实验准备:
java连接数据库的方法模型。
a.安装有JDK1.6以上和Tomcat6.0以上
b.下载有eclipse开发工具
c.安装有MS SQLServer 2005以上版本
d.下载有java连接MS SQLServer的jar包(下载)
2.实验步骤:
1)建立Java Web工程
文件-->新建--web project
2)添加数据库文件到目录lib中
3)添加数据库连接jar包到Library中
4)index.jsp网页文件
a. 添加配置代码
<%@ page language="java" import="java.util.*" import="java.sql.*" pageEncoding="utf-8"%>
b. 编写连接数据库代码
//连接数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_CityInfo";
String user="sa";
String password="3505";
Connection conn= DriverManager.getConnection(url,user,password);
c. 编写数据库读取代码
//查询数据表
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sqlstr = "select * from tb_user ";
ResultSet rs = stmt.executeQuery(sqlstr); //查询结果rs(一行行的集合)
d. 在table内显示
<table border = "1">
<tr><td>1</td><td>2</td><td>3</td></tr>
<%while(rs.next()){ %>
<tr><td><%=rs.getInt(1) %></td><td><%=rs.getString(2) %></td><td><%=rs.getString(3) %></td></tr>
<%} %>
</table>
e. 运行测试。
附录:index.jsp代码
<%@ page language="java" import="java.util.*" import="java.sql.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>查询</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <% try{ //连接数据库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_CityInfo"; String user="sa"; String password="3505"; Connection conn= DriverManager.getConnection(url,user,password); //查询数据表 Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sqlstr = "select * from tb_user "; ResultSet rs = stmt.executeQuery(sqlstr); //查询结果rs(一行行的集合) //输出结果 %> <table border = "1"> <tr><td>1</td><td>2</td><td>3</td></tr> <%while(rs.next()){ %> <tr><td><%=rs.getInt(1) %></td><td><%=rs.getString(2) %></td><td><%=rs.getString(3) %></td></tr> <%} %> </table> <% } catch(Exception e){ e.printStackTrace(); } %> <br> </body> </html>
三、总结
本次连接数据库使用了第三方连接包。实现了访问数据库,读取数据表。如果需要交互,例如添加数据,修改数据和删除数据,需要用到stmt的executeUpdate方法。
四、练习
编写表单网页a.html,能够填写姓名,点提交按钮后,跳转到b.jsp页面,b.jsp页面实现对数据库user表的查询,并显示查询结果。
参考文献:
1、http://www.cnblogs.com/lee/archive/2007/08/25/869656.html
2、http://baike.baidu.com/link?url=6v6BSxU_TKnZ2r-7BPk02Y_B-ilmlJzv8VBh5gwnq2sv53XK4i_Wes_h306VTMfx