现在有好多初学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如下:
testsqlserver.jsp如下:
三、jsp连接DB2数据库
testdb2.jsp如下:
testinformix.jsp如下:
testmysql.jsp如下:
testmysql.jsp如下:
testmysql.jsp如下:
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数据库 <%@ 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>
testsqlserver.jsp如下:
1<%@ page contentType="text/html;charset=gb2312"%>
2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
6String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
7//pubs为你的数据库的
8String user="sa";
9String password="";
10Connection conn= DriverManager.getConnection(url,user,password);
11Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
12String sql="select * from test";
13ResultSet rs=stmt.executeQuery(sql);
14while(rs.next()) {%>
15您的第一个字段内容为:<%=rs.getString(1)%>
16您的第二个字段内容为:<%=rs.getString(2)%>
17<%}%>
18<%out.print("数据库操作成功,恭喜你");%>
19<%rs.close();
20stmt.close();
21conn.close();
22%>
23</body>
24</html>
2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
6String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
7//pubs为你的数据库的
8String user="sa";
9String password="";
10Connection conn= DriverManager.getConnection(url,user,password);
11Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
12String sql="select * from test";
13ResultSet rs=stmt.executeQuery(sql);
14while(rs.next()) {%>
15您的第一个字段内容为:<%=rs.getString(1)%>
16您的第二个字段内容为:<%=rs.getString(2)%>
17<%}%>
18<%out.print("数据库操作成功,恭喜你");%>
19<%rs.close();
20stmt.close();
21conn.close();
22%>
23</body>
24</html>
三、jsp连接DB2数据库
testdb2.jsp如下:
1<%@ page contentType="text/html;charset=gb2312"%>
2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
6String url="jdbc:db2://localhost:5000/sample";
7//sample为你的数据库名
8String user="admin";
9String password="";
10Connection conn= DriverManager.getConnection(url,user,password);
11Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
12String sql="select * from test";
13ResultSet rs=stmt.executeQuery(sql);
14while(rs.next()) {%>
15您的第一个字段内容为:<%=rs.getString(1)%>
16您的第二个字段内容为:<%=rs.getString(2)%>
17<%}%>
18<%out.print("数据库操作成功,恭喜你");%>
19<%rs.close();
20stmt.close();
21conn.close();
22%>
23</body>
24</html>
25
四、jsp连接Informix数据库 2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
6String url="jdbc:db2://localhost:5000/sample";
7//sample为你的数据库名
8String user="admin";
9String password="";
10Connection conn= DriverManager.getConnection(url,user,password);
11Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
12String sql="select * from test";
13ResultSet rs=stmt.executeQuery(sql);
14while(rs.next()) {%>
15您的第一个字段内容为:<%=rs.getString(1)%>
16您的第二个字段内容为:<%=rs.getString(2)%>
17<%}%>
18<%out.print("数据库操作成功,恭喜你");%>
19<%rs.close();
20stmt.close();
21conn.close();
22%>
23</body>
24</html>
25
testinformix.jsp如下:
1<%@ page contentType="text/html;charset=gb2312"%>
2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
6String url =
7"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
8user=testuser;password=testpassword";
9//testDB为你的数据库名
10Connection conn= DriverManager.getConnection(url);
11Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
12String sql="select * from test";
13ResultSet rs=stmt.executeQuery(sql);
14while(rs.next()) {%>
15您的第一个字段内容为:<%=rs.getString(1)%>
16您的第二个字段内容为:<%=rs.getString(2)%>
17<%}%>
18<%out.print("数据库操作成功,恭喜你");%>
19<%rs.close();
20stmt.close();
21conn.close();
22%>
23</body>
24</html>
25
五、jsp连接Sybase数据库 2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
6String url =
7"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
8user=testuser;password=testpassword";
9//testDB为你的数据库名
10Connection conn= DriverManager.getConnection(url);
11Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
12String sql="select * from test";
13ResultSet rs=stmt.executeQuery(sql);
14while(rs.next()) {%>
15您的第一个字段内容为:<%=rs.getString(1)%>
16您的第二个字段内容为:<%=rs.getString(2)%>
17<%}%>
18<%out.print("数据库操作成功,恭喜你");%>
19<%rs.close();
20stmt.close();
21conn.close();
22%>
23</body>
24</html>
25
testmysql.jsp如下:
1<%@ page contentType="text/html;charset=gb2312"%>
2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
6String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
7//tsdata为你的数据库名
8Properties sysProps = System.getProperties();
9SysProps.put("user","userid");
10SysProps.put("password","user_password");
11Connection conn= DriverManager.getConnection(url, SysProps);
12Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
13String sql="select * from test";
14ResultSet rs=stmt.executeQuery(sql);
15while(rs.next()) {%>
16您的第一个字段内容为:<%=rs.getString(1)%>
17您的第二个字段内容为:<%=rs.getString(2)%>
18<%}%>
19<%out.print("数据库操作成功,恭喜你");%>
20<%rs.close();
21stmt.close();
22conn.close();
23%>
24</body>
25</html>
26
六、jsp连接MySQL数据库 2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
6String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
7//tsdata为你的数据库名
8Properties sysProps = System.getProperties();
9SysProps.put("user","userid");
10SysProps.put("password","user_password");
11Connection conn= DriverManager.getConnection(url, SysProps);
12Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
13String sql="select * from test";
14ResultSet rs=stmt.executeQuery(sql);
15while(rs.next()) {%>
16您的第一个字段内容为:<%=rs.getString(1)%>
17您的第二个字段内容为:<%=rs.getString(2)%>
18<%}%>
19<%out.print("数据库操作成功,恭喜你");%>
20<%rs.close();
21stmt.close();
22conn.close();
23%>
24</body>
25</html>
26
testmysql.jsp如下:
1<%@ page contentType="text/html;charset=gb2312"%>
2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
6String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
7//testDB为你的数据库名
8Connection conn= DriverManager.getConnection(url);
9Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
10String sql="select * from test";
11ResultSet rs=stmt.executeQuery(sql);
12while(rs.next()) {%>
13您的第一个字段内容为:<%=rs.getString(1)%>
14您的第二个字段内容为:<%=rs.getString(2)%>
15<%}%>
16<%out.print("数据库操作成功,恭喜你");%>
17<%rs.close();
18stmt.close();
19conn.close();
20%>
21</body>
22</html>
23
七、jsp连接PostgreSQL数据库 2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
6String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
7//testDB为你的数据库名
8Connection conn= DriverManager.getConnection(url);
9Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
10String sql="select * from test";
11ResultSet rs=stmt.executeQuery(sql);
12while(rs.next()) {%>
13您的第一个字段内容为:<%=rs.getString(1)%>
14您的第二个字段内容为:<%=rs.getString(2)%>
15<%}%>
16<%out.print("数据库操作成功,恭喜你");%>
17<%rs.close();
18stmt.close();
19conn.close();
20%>
21</body>
22</html>
23
testmysql.jsp如下:
1<%@ page contentType="text/html;charset=gb2312"%>
2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("org.postgresql.Driver").newInstance();
6String url ="jdbc:postgresql://localhost/soft"
7//soft为你的数据库名
8String user="myuser";
9String password="mypassword";
10Connection conn= DriverManager.getConnection(url,user,password);
11Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
12String sql="select * from test";
13ResultSet rs=stmt.executeQuery(sql);
14while(rs.next()) {%>
15您的第一个字段内容为:<%=rs.getString(1)%>
16您的第二个字段内容为:<%=rs.getString(2)%>
17<%}%>
18<%out.print("数据库操作成功,恭喜你");%>
19<%rs.close();
20stmt.close();
21conn.close();
22%>
23</body>
24</html>
25
例:2<%@ page import="java.sql.*"%>
3<html>
4<body>
5<%Class.forName("org.postgresql.Driver").newInstance();
6String url ="jdbc:postgresql://localhost/soft"
7//soft为你的数据库名
8String user="myuser";
9String password="mypassword";
10Connection conn= DriverManager.getConnection(url,user,password);
11Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
12String sql="select * from test";
13ResultSet rs=stmt.executeQuery(sql);
14while(rs.next()) {%>
15您的第一个字段内容为:<%=rs.getString(1)%>
16您的第二个字段内容为:<%=rs.getString(2)%>
17<%}%>
18<%out.print("数据库操作成功,恭喜你");%>
19<%rs.close();
20stmt.close();
21conn.close();
22%>
23</body>
24</html>
25
1import java.sql.*;
2public class dbaccess{
3public static void main(String args[]) throws Exception{
4 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
5 String dburl ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Mobile.mdb";//此为NO-DSN方式
6 //String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式
7 Connection conn=DriverManager.getConnection(dburl);
8 Statement stmt=conn.createStatement();
9 ResultSet rs=stmt.executeQuery("select Top 20 * from MobileSection");
10 System.out.println("号段 地区 类型 省份 区号");
11 while(rs.next()){
12 System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+" "+rs.getString(5));
13 }
14 rs.close();
15 stmt.close();
16 conn.close();
17 }
18}
19
2public class dbaccess{
3public static void main(String args[]) throws Exception{
4 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
5 String dburl ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Mobile.mdb";//此为NO-DSN方式
6 //String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式
7 Connection conn=DriverManager.getConnection(dburl);
8 Statement stmt=conn.createStatement();
9 ResultSet rs=stmt.executeQuery("select Top 20 * from MobileSection");
10 System.out.println("号段 地区 类型 省份 区号");
11 while(rs.next()){
12 System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+" "+rs.getString(5));
13 }
14 rs.close();
15 stmt.close();
16 conn.close();
17 }
18}
19