建了两个java文件
一个:
package com;
import java.sql.*;public class studentdao {
public student getstudent() throws Exception{
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:Mysql://localhost:3306/test","root", "123");
Statement stm=conn.createStatement();
ResultSet rs=stm.executeQuery("select * from student where id=2");
student stu=new student();

while(rs.next()){
stu.setId(rs.getLong("id"));
stu.setName(rs.getString("username"));
stu.setPassword(rs.getString("password"));
}
rs.close();
stm.close();
conn.close();
return stu;
}   public static void main(String[] args) throws Exception{
  
  studentdao dao=new studentdao();
  student stu=dao.getstudent();
  if(stu!=null){
  System.out.print(stu);  
  }
  
  
  }
}
另一个:
package com;public class student {
private long id;
private String name;
private String password;

public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}}
然后现在mysql的驱动包也导入了
数据库test里建了一张表student 里面有id=2的记录
还是一直报错 错误如下:
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.studentdao.getstudent(studentdao.java:9)
at com.studentdao.main(studentdao.java:33)
想问下到底是什么原因 我java一直都学不好 请高人指导下 谢谢啦!

解决方案 »

  1.   

     这很明显mysql的驱动导得有问题
      

  2.   

    mysql驱动的jar包。。需要导入。。
      

  3.   

    差这个jar包啊com.mysql.jdbc.Driver
      

  4.   

    还有stu.setId(rs.getLong("id"));
    stu.setName(rs.getString("username"));
    stu.setPassword(rs.getString("password"));id username password是数据库表里面的字段名称,别混了喔
      

  5.   

    http://dev.mysql.com/downloads/connector/j/
    上这里下载个jdbc的包,放到lib目录下就可以了
      

  6.   

    麻烦大家看清楚点 
    我已经导入mysql的驱动包了 应该不是包的问题了 因为中间我怀疑是驱动包有误 还特地换了一个重新导入
    但是现在还是一直报这个错
      

  7.   

    Connection conn=DriverManager.getConnection("jdbc:Mysql://localhost:3306/test","root", "123");大写做什么?!
    应该是mysql
      

  8.   

    mysql驱动包 貌似有两个mysql-connector-java-3.1.3-beta-bin.jar  、mysql-connector-java-5.1.3-rc-bin.jar
      

  9.   

    换成这个jar试试:mysql-connector-java-5.0.4-bin.jar
      

  10.   


      try {
       Class.forName("com.mysql.jdbc.Driver");
       conn = (Connection) DriverManager.getConnection("jdbc:Mysql://localhost:3306/test","root", "123");
      } catch (ClassNotFoundException e) {
       e.printStackTrace();
      } catch (SQLException e) {
       e.printStackTrace();
      }
      return conn;
     }
    这是我以前写的,是正常的
    我用的是这个包“mysql-connector-java-3.0.17-ga-bin.jar”
    对了,你的包不要导入重复了
    注意一下,你之前的包有没有被删除
      

  11.   

    换个包试试,就是包的问题。。还有jdbc:Mysql,mysql要小写。。
      

  12.   

    还是导入的jar包有问题。。
    重新下载一个吧
      

  13.   

    Class.forName("com.mysql.jdbc.Driver"); 找不到该类。解压jar包看看有没有这个类,可能驱动类不是这个名字。
      

  14.   

    不好意思 专门测了一下 URL是不区分大小写的问题是驱动的问题。
      

  15.   

    你看一下有没有把jar包导入到了bulid path 中。
      

  16.   

    换成这个jar试试:mysql-connector-java-5.0.4-bin.jar 
      

  17.   

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    说明com.mysql.jdbc.Driver这个类没有找到
    我猜:这句话你从别的地方拷贝来的.因为他的Driver类在这个包下.所以能运行,你包下没有这个类所以报错
    你要做的就是点开com.mysql.jdbc.Driver去找这个Driver类.看看Driver这个类在那里提示: 因为下载的JDBC驱动不一样.所以Driver位置不一样.一般情况可能就1及目录的差别.
      

  18.   

    楼主为什么你导入的jar包是 xxxxxx.rar而不是xxxxx.jar啊?
      

  19.   

    确实是jar包的问题 换了个现在不报错了
    但是print出来的东西不是数据库里的东西啊
    有大侠能继续指导下么按数据库里的表 不是应该打印出来第二条2tsettdst么
    现在打出来的是