大家好!我写了一段连接数据库的程序,我现在想把它测试一下,可是又是抱ClassNotFoundException:com.jdbc.mysql.Driver.错误下面是我的测试程序  DBUtil.javapackage nm;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class DBUtil 
{
static String driverName = "com.mysql.jdbc.Driver";
static String dbUrl = "jdbc:mysql://";
static String dbUser = "root";
static String dbPwd = "zgy01"; public DBUtil()
{

}

public static Connection connectToDB(String hostName,
 String databaseName) throws Exception
{
String connName = dbUrl + hostName +":3306/" +databaseName;

Class.forName(driverName).newInstance();
Connection connection = DriverManager.getConnection(connName,
dbUser,dbPwd);
return connection;
}

public static Connection connectToDB(String databaseName)
 throws Exception
 {
return (connectToDB("localhost",databaseName));
 }

public static Connection connectToDB()
 throws Exception
{
return (connectToDB("localhost","buy"));
} public static void main(String[] args)
{
try
{
String name = "com.jdbc.mysql.Driver";
String url = "jdbc:mysql://localhost:3306/JavaWeb?useUnicode=true&characterEncoding=gb2312";
Class.forName(name).newInstance();
Connection con = DriverManager.getConnection(url,"root","zgy01");
System.out.println("连接MySQL数据库成功!!!");

PreparedStatement pStmt = null;
ResultSet rs = null;

int id = 0;
String title = null;
String content = null;

String strSql = new String("select * from notice");

try
{
pStmt = con.prepareStatement(strSql,
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = pStmt.executeQuery();

if(rs.next())
{
id = Integer.parseInt(rs.getString("ID"));

title = rs.getString("title");
title = new String(title.getBytes("ISO-8859-1"),"GB2312");

content = rs.getString("content");
content = new String(content.getBytes("ISO-8859-1"),"GB2312");

System.out.println(id);
System.out.println(title);
System.out.println(content);
}
}
/*
catch(Exception ex)
{
ex.printStackTrace();
}
*/
finally
{
try
{
rs.close();
pStmt.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}抱错信息java.lang.ClassNotFoundException: com.jdbc.mysql.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at nm.DBUtil.main(DBUtil.java:51)

解决方案 »

  1.   

    看官方的例子:
    import java.lang.String;
    import java.lang.Object;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.ResultSet;public class JdbcTest {  public static void main(String args[]) {    Connection con = null;
        ResultSet rs = null;    try {
          try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            con =
    DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=mypass");
          }
          catch(ClassNotFoundException e) {
            System.err.println("ClassNotFoundException: " + e.getMessage());
          }
          catch(InstantiationException e) {
            System.err.println("InstantiationException: " + e.getMessage());
          }
          catch(IllegalAccessException e) {
            System.err.println("IllegalAccessException: " + e.getMessage());
          }      rs = con.createStatement().executeQuery("SELECT VERSION()");
          rs.next();
          System.out.println(rs.getString(1));    } catch(SQLException e) {
          System.err.println("SQLException: " + e.getMessage());
          System.err.println("SQLState: " + e.getSQLState());
          System.err.println("VendorError: " + e.getErrorCode());
        } finally {
          try {
            if(con != null)
              con.close();
          } catch(SQLException e) {}
        }
      }
    }
      

  2.   

    http://forge.mysql.com/snippets/view.php?id=3
      

  3.   

       找到原因了我的驱动字符串写错了,应该是 com.mysql.jdbc.Driver;我写成了 com.jdbc.mysql.Driver