你在程序中没有加载类:
   Class.forName

解决方案 »

  1.   

    以下是连接mySql的完整代码:<%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(); 
    %>新的mysql jdbc驱动不是org.gjt.mm.mysql.Driver这个类而是com.mysql.jdbc.Driver
    不过因为它把org.gjt.mm.mysql.Driver继承了真正那个Driver类做到了向后兼容
    所以这样写不会有问题你应该去看docs/index.html
    在这种release里面文档都是很齐全的
      

  2.   

    你就要先下载mysql-connector-java-3.0.14-production.zip这个驱动,这样才能连接到数据库,你要是写application,就要将mysql-connector-java-3.0.14-production-bin.jar加到环境变量的classpath里,然后
    Class.forName("com.mysql.jdbc.Driver");//这里是驱动的路径
    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/数据库名?user=用户名&password=密码");
    Statement stmt=conn.createStatement();
    ResultSet rset=stmt.executeQuery("select * from XXX");
    while(rset.next())
    System.out.println(rset.getString(1)+"\n");
    如果你要是写jsp或是servlet,javabean,就可以把驱动放在你在tomcat/webapps/你建的文件夹/WEB-INF/classes里,这样就不用设置classpath了,一样能连接到数据库
      

  3.   

    驱动的jar我当然下载了
    Class.forName 也用了
    在TOMCAT下写JSP和BEAN 都没有问题
    我的问题是写 可以单独运行的 application 并不是web项目有没有人不是在web项目中 而在JAVA 写的可运行程序里用过MYSQL
      

  4.   

    要是写application,就要将jar加到环境变量中,
    应该就这一点不大一样吧