現在有好多初學jsp的網友經常會問資料庫怎麼串連啊,怎麼老出錯啊?所以我集中的在這寫篇文章供大家參考,其實這種把資料庫邏輯全部放在jsp裡未必是好的做法,但是有利於初學者學習,所以我就這樣做了,當大家學到一定程度的時候,可以考慮用MVC的模式開發。在練習這些代碼的時候,你一定將jdbc的驅動程式放到伺服器的類路徑裡,然後要在資料庫裡建一個表test,有兩個欄位比如為test1,test2,可以用下面SQL建
create table test(test1 varchar(20),test2 varchar(20)
然後向這個表寫入一條測試紀錄
那麼現在開始我們的jsp和資料庫之旅吧。
一、jsp串連Oracle8/8i/9i資料庫(用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為你的資料庫的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {% >
您的第一個欄位內容為:< %=rs.getString(1)% >
您的第二個欄位內容為:< %=rs.getString(2)% >
< %}% >
< %out.print("資料庫操作成功,恭喜你");% >
< %rs.close();
stmt.close();
conn.close();
% >
< /body>
< /html>
二、jsp串連Sql Server7.0/2000資料庫
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為你的資料庫的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個欄位內容為:< %=rs.getString(1)%>
您的第二個欄位內容為:< %=rs.getString(2)%>
< %}%>
< %out.print("資料庫操作成功,恭喜你");%>
< %rs.close();
stmt.close();
conn.close();
% >
< /body>
< /html>
三、jsp串連DB2資料庫
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為你的資料庫名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個欄位內容為:< %=rs.getString(1)%>
您的第二個欄位內容為:< %=rs.getString(2)%>
< %}%>
< %out.print("資料庫操作成功,恭喜你");%>
< %rs.close();
stmt.close();
conn.close();
% >
< /body>
< /html>
四、jsp串連Informix資料庫
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為你的資料庫名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {% >
您的第一個欄位內容為:< %=rs.getString(1)%>
您的第二個欄位內容為:< %=rs.getString(2)%>
< %}%>
< %out.print("資料庫操作成功,恭喜你");%>
< %rs.close();
stmt.close();
conn.close();
% >
< /body>
< /html>
五、jsp串連Sybase資料庫
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為你的資料庫名
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_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {% >
您的第一個欄位內容為:< %=rs.getString(1)%>
您的第二個欄位內容為:< %=rs.getString(2)%>
< %}%>
< %out.print("資料庫操作成功,恭喜你");%>
< %rs.close();
stmt.close();
conn.close();
% >
< /body>
< /html>
六、jsp串連MySQL資料庫
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為你的資料庫名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {% >
您的第一個欄位內容為:< %=rs.getString(1)%>
您的第二個欄位內容為:< %=rs.getString(2)%>
< %}%>
< %out.print("資料庫操作成功,恭喜你");%>
< %rs.close();
stmt.close();
conn.close();
% >
< /body>
< /html>
七、jsp串連PostgreSQL資料庫
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為你的資料庫名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {% >
您的第一個欄位內容為:< %=rs.getString(1)%>
您的第二個欄位內容為:< %=rs.getString(2)%>
< %}%>
< %out.print("資料庫操作成功,恭喜你");%>
< %rs.close();
stmt.close();
conn.close();
% >
< /body>
< /html>