現在有好多初學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>
|