通过JDBC连接数据库有两方式:一是直接通过JDBC Database Driver连接,另一种是通过JDBC-ODBC桥与ODBC数据源连接,再通过ODBC间接与数据库连接。
    通过JDBC访问数据库的简单过程
我们通过一段简单的jsp程序来看一下JDBC访问数据库的方法:
使用数据库:SQL SERVER
数据源名:mydb
用户名:guest
密码:123
程序1.将数据插入数据库:<%@page contentType="text/html; charset=gb2312"%>
<%@page import="java.sql.*"%>
<%@page import="java.io.*"%>
<html>
<head>
<title>New Page 1</title>
</head>
<body>
<%
//-----------------------start从页面获得输入信息
String name=null;
String age=null;
name=request.getParameter("T1");
age=request.getParameter("T2");
if((name==null)||(age==null))
{
//-----------------------end
%>
<form method="POST" action="insert.jsp">
  <p>名字:<input type="text" name="T1" size="20"></p>
  <p>年龄:<input type="text" name="T2" size="20"><input type="submit" ><input type="reset" ></p>
</form>
<%
}
else 
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//-----------指明驱动程序
Connection conn=DriverManager.getConnection("jdbc:odbc:mydb","guest","123");//-----------指明数据源、用户名、密码
Statement stmt=conn.createStatement();//-------------建立Statement接口用于发送简单的SQL语句
stmt.executeUpdate("insert into mytable(youname,age) values('"+name+"','"+age+"')");//----------发送SQL语句
out.println("数据库操作成功,恭喜你");
stmt.close();//---------关闭Statement接口
conn.close();//---------关闭数据库连接
%>
<p>
<a href="http://10.2.2.6:8080/examples/jsp/display.jsp">察看请点击</a>
<%
}
%>
</body>
</html>
程序2.将数据库中的数据通过jsp显示出来:
<%@page contentType="text/html; charset=gb2312"%>
<%@page import="java.sql.*"%>
<%@page import="java.io.*"%>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//-----------指明驱动程序
Connection conn=DriverManager.getConnection("jdbc:odbc:mydb","guest","123");//------指明数据源、用户名、密码
Statement stmt=conn.createStatement();//---建立Statement接口用于发送简单的SQL语句
%>
<%
ResultSet rs=stmt.executeQuery("select * from mytable");//-----定义处理数据库记录集
ResultSetMetaData rsmd=rs.getMetaData();//-------返回记录集的自身信息
%>
<html>
<head>
</head>
<body leftmargin="15" topmargin="15">
<table border="1" cellpadding="3" cellspacing="0" width="740" style="border-collapse: collapse" bordercolor="#c0c0c0" align="center">
  <tr>
<%
for(int i=1;i<=rsmd.getColumnCount();i++)
{
%>
    <td width="20%" align="center"><%=rsmd.getColumnName(i)%></td>
<%
}
%>
  </tr>
<%
while(rs.next())
{
out.println("<tr>");//-------输出数据库中的值
for(int i=1;i<=rsmd.getColumnCount();i++)
{
%>
    <td width="20%"><%=rs.getString(i)%></td>
<%
}
out.println("</tr>");
}
%>
</table>
</body>
</html>
<%
rs.close();//---------关闭结果集
stmt.close();//---------关闭关闭Statement接口
conn.close();//---------关闭数据库连接
%>