现在有好多初学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>(代码实验室) |