幾個"小李子"解決JSP的數(shù)據(jù)庫連接
現(xiàn)在有好多初學(xué) jsp 的網(wǎng)友經(jīng)常會問數(shù)據(jù)庫怎么連接啊,怎么老出錯啊?所以我集中的寫這篇文章供大家參考,其實(shí)這種把數(shù)據(jù)庫邏輯全部放在 jsp 里未必是好的做法,但是有利于初學(xué)者學(xué)習(xí),所以我就這樣做了,當(dāng)大家學(xué)到一定程度的時候,可以考慮用 MVC 的模式開發(fā)。在練習(xí)這些代碼的時候,你需要將 jdbc 的驅(qū)動程序放到服務(wù)器的類路徑里,然后要在數(shù)據(jù)庫里建一個表 test, 有兩個字段比如為 test1 , test2 ,可以用下面 SQL 建
create table test(test1 varchar(20),test2 varchar(20))
然后向這個表寫入一條測試紀(jì)錄
那么現(xiàn)在開始我們的 jsp 和數(shù)據(jù)庫之旅吧:
一、 jsp 連接 Oracle8/8i/9i 數(shù)據(jù)庫(用 thin 模式)
testoracle.jsp 如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl 為你的數(shù)據(jù)庫的 SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個字段內(nèi)容為: <%=rs.getString(1)%>
您的第二個字段內(nèi)容為: <%=rs.getString(2)%>
<%}%>
<%out.print(" 數(shù)據(jù)庫操作成功,恭喜你 ");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
二、 jsp 連接 Sql Server7.0/2000 數(shù)據(jù)庫
testsqlserver.jsp 如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs 為你的數(shù)據(jù)庫的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個字段內(nèi)容為: <%=rs.getString(1)%>
您的第二個字段內(nèi)容為: <%=rs.getString(2)%>
<%}%>
<%out.print(" 數(shù)據(jù)庫操作成功,恭喜你 ");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
三、 jsp 連接 DB2 數(shù)據(jù)庫
testdb2.jsp 如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample 為你的數(shù)據(jù)庫名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個字段內(nèi)容為: <%=rs.getString(1)%>
您的第二個字段內(nèi)容為: <%=rs.getString(2)%>
<%}%>
<%out.print(" 數(shù)據(jù)庫操作成功,恭喜你 ");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
四、 jsp 連接 Informix 數(shù)據(jù)庫
testinformix.jsp 如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//testDB 為你的數(shù)據(jù)庫名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個字段內(nèi)容為: <%=rs.getString(1)%>
您的第二個字段內(nèi)容為: <%=rs.getString(2)%>
<%}%>
<%out.print(" 數(shù)據(jù)庫操作成功,恭喜你 ");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
五、 jsp 連接 Sybase 數(shù)據(jù)庫
testmysql.jsp 如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
//tsdata 為你的數(shù)據(jù)庫名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個字段內(nèi)容為: <%=rs.getString(1)%>
您的第二個字段內(nèi)容為: <%=rs.getString(2)%>
<%}%>
<%out.print(" 數(shù)據(jù)庫操作成功,恭喜你 ");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
六、 jsp 連接 MySQL 數(shù)據(jù)庫
testmysql.jsp 如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//testDB 為你的數(shù)據(jù)庫名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個字段內(nèi)容為: <%=rs.getString(1)%>
您的第二個字段內(nèi)容為: <%=rs.getString(2)%>
<%}%>
<%out.print(" 數(shù)據(jù)庫操作成功,恭喜你 ");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
七、 jsp 連接 PostgreSQL 數(shù)據(jù)庫
testmysql.jsp 如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/soft"
//soft 為你的數(shù)據(jù)庫名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個字段內(nèi)容為: <%=rs.getString(1)%>
您的第二個字段內(nèi)容為: <%=rs.getString(2)%>
<%}%>
<%out.print(" 數(shù)據(jù)庫操作成功,恭喜你 ");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
posted on 2006-05-08 16:44 topquan 閱讀(303) 評論(0) 編輯 收藏 所屬分類: JSP&Servlet