java中访问数据库,常用两种连接方式:建立JDBC-ODBC桥接器和加载Java数据库驱动程序
1、JDBC-ODBC桥接器
机制:应用程序只需建立JDBC和ODBC之间的连接,即JDBC-ODBC桥接器,而与数据库的连接由ODBC去完成
优点:由于ODBC驱动程序广泛使用,建立这种桥接后,使得JDBC有能力访问几乎所有类型的数据库
缺点:依赖ODBC,移植性差,即应用程序所驻留的计算机必须提供ODBC
步骤:
(1)建立JDBC-ODBC桥接器 java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
(2)创建ODBC数据源          ODBC数据库管理器
(3)和ODBC数据源建立连接 DriverManager.getConnection("jdbc:odbc:数据源名字","login name","password");
例一
------------------------------

<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<html><body>
<%
Connection con =null;
Statement sql=null;
ResultSet rs=null;


try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   try{
   con=DriverManager.getConnection("jdbc:odbc:wz","liuyz","liuyz1");
   }
   catch(SQLException e)
   { e.printStackTrace();}
   }
   catch(ClassNotFoundException e)
   { e.printStackTrace();}

try{
sql=con.createStatement();
rs=sql.executeQuery("select * from work_log");

out.print("<table boder>");
out.print("<tr>");
out.print("<th width=100>"+"proc_name");
out.print("<th width=50>"+"sql_desc");
out.print("</tr>");
while(rs.next())
{
out.print("<tr>");
String s1=rs.getString(1);
String s2=rs.getString(2);
out.print("<td>"+s1+"</td>"+"<td>"+s2+"</td>");
out.print("</tr>");
}
out.print("</table>");
con.close();
}
catch (SQLException e)
{
out.print(e);
}
%>
</body>
</html>

 
2、使用纯Java数据库驱动程序

注意把ojdbc14.jar
copy ORACLE_HOME/jdbc/lib/ojdbc14.jar  TOMCAT_HOME/webapps/ROOT/WEB_INF/lib
或者
copy ORACLE_HOME/jdbc/lib/ojdbc14.jar TOMCAT_HOME/common/lib
任一都可以

机制:JDBC调用本地纯Java驱动程序和相应的数据库建立连接
优点:不依赖ODBC,移植性好
步骤:
(1)加载纯Java数据库驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver")
(2)和指定的数据库建立连接    DriverManager.getConnection("jdbc:oracle:thin:@10.77.xx.xx:1521:wzdata","liuyz","liuyz1")
例二
----------

<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<html><body>
<%
Connection con =null;
Statement sql=null;
ResultSet rs=null;

try{ Class.forName("oracle.jdbc.driver.OracleDriver");}
   catch(ClassNotFoundException e)
   { e.printStackTrace();}


try {con=DriverManager.getConnection("jdbc:oracle:thin:@10.77.xx.xx:1521:wzdata","liuyz","liuyz1");}

   catch(SQLException e)
   { e.printStackTrace();}

 

try{
sql=con.createStatement();
rs=sql.executeQuery("select * from work_log");

out.print("<table boder>");
out.print("<tr>");
out.print("<th width=100>"+"proc_name");
out.print("<th width=50>"+"sql_desc");
out.print("</tr>");
while(rs.next())
{
out.print("<tr>");
String s1=rs.getString(1);
String s2=rs.getString(2);
out.print("<td>"+s1+"</td>"+"<td>"+s2+"</td>");
out.print("</tr>");
}
out.print("</table>");
con.close();
}
catch (SQLException e)
{
out.print(e);
}
%>
</body>
</html>

-------------------网络文摘-----------
oracle9i
copy $ORACLE_HOME/jdbc/lib/classes12.jar to $TOMCAT_HOME/webapps/ROOT/WEB_INF/lib
copy $ORACLE_HOME/jdbc/lib/ojdbc14.jar to $TOMCAT_HOME/common/lib
restart tomcat

connect.jsp

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@ora_server:1521:orcl";
//orcl为你的数据库的SID
String user="usr";
String password="pwd";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from table";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>