现在的位置: 首页 > 综合 > 正文

jsp连接mysql 数据库

2013年06月01日 ⁄ 综合 ⁄ 共 2949字 ⁄ 字号 评论关闭

方法一:

<%@ page import="java.lang.*,java.io.*,java.sql.*,java.util.*"
 contentType="text/html;charset=utf-8"%>
<%@ page import="com.mysql.jdbc.Connection"%>
<%@ page import="com.mysql.jdbc.ResultSet"%>
<%@ page import="com.mysql.jdbc.Statement"%>

<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://"
   + request.getServerName() + ":" + request.getServerPort()
   + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
 </head>

 <body>
  <%
   try {

    //加载Connector/J驱动
    //这一句也可写为:Class.forName("com.mysql.jdbc.Driver");
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    //建立到MySQL的连接
    Connection conn = (Connection) DriverManager.getConnection(
      "jdbc:mysql://localhost:3306/guestbook", "root", "1");
    //执行SQL语句
    Statement stmt = (Statement) conn.createStatement();
    ResultSet result = (ResultSet) stmt
      .executeQuery("select * from guestbook");
    //处理结果集
  %>
  <table border="1" width="100%" cellpadding=0 cellspacing=0 width=400>
   <tr>
    <td>
     name
    </td>
    <td>
     phone
    </td>
    <td>
     phone
    </td>
   </tr>

   <%
    while (result.next()) {
   %>
   <tr>
    <td><%=result.getString(1)%>
    </td>
    <td><%=result.getString(2)%>
    </td>
    <td><%=result.getString(3)%>
    </td>
   </tr>
   <%
    }
   %>
  </table>
  <%
   result.close();

   } catch (Exception ex) {
    System.out.println("Error : " + ex.toString());
   }
  %>
 </body>
</html>

方法二:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<html>
 <body>
  <%

    //这一句也可写为:Class.forName("com.mysql.jdbc.Driver");
       Class.forName("com.mysql.jdbc.Driver").newInstance();
       //建立到MySQL的连接
       String url="jdbc:mysql://localhost/guestbook?user=root&password=1&useUnicode=true&characterEncoding=utf-8";

      //guestbook为数据库名,root为数据库用户名。1为数据库密码。
       Connection conn = (Connection) DriverManager.getConnection(url);
       //执行SQL语句
       Statement stmt = (Statement) conn.createStatement();
       ResultSet rs = (ResultSet) stmt.executeQuery("select * from guestbook");

while(rs.next()) {%>
  您的第一个字段内容为:<%=rs.getString(1)%><br>
  您的第二个字段内容为:<%=rs.getString(2)%><br>
  <%}%>
  <%out.print("数据库操作成功,恭喜你");%>
  <%rs.close();
stmt.close();
conn.close();
%>
 </body>
</html>

以上两种方法都是在MyEclipse下开发的,将mysql的jar包复制到开发源文件的WEB-INF/lib目录下即可。

 

如果在tomcat 下:

把你的数据库驱动(jar文件)放到WEB-INF/lib下或者放到tomcat/common/lib下

但你那个驱动mysql已经不推荐用了,到下面的mysql官网下载这个官方推荐的吧:
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.1.11.zip/from/pick

下载的是rar文件,把里面的jar文件解压出来并把它拷贝到你的web应用的WEB-INF/lib下(当然也可以设置CLASSPATH)

接着修改程序代码:
将你的:
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
改为:
Class.forName("com.mysql.jdbc.Driver");

补充:
1、不要起相同的应用名
E:/Tomcat 5.0/webapps/ROOT/WEB-INF/lib
上面的ROOT是Tomcat本身自己的应用,你自己的应用要另外起一个不同的名称,如my-test

2、报下面错误:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
不就是代表找不到驱动类了吗?
就是表示驱动文件jar没有放好,你下载的那个是rar,只需解压里面的jar文件出来就行,并将它拷贝到自己的应用目录下的/WEB-INF/lib中,如,你的应用名就叫刚才说的my-test,请参考应用目录的层次:

Tomcat 5.0
/webapps
/my-test
/WEB-INF
/lib
/mysql-connector-java-3.1.11-bin.jar

抱歉!评论已关闭.