建了两个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一直都学不好 请高人指导下 谢谢啦!
一个:
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一直都学不好 请高人指导下 谢谢啦!
stu.setName(rs.getString("username"));
stu.setPassword(rs.getString("password"));id username password是数据库表里面的字段名称,别混了喔
上这里下载个jdbc的包,放到lib目录下就可以了
我已经导入mysql的驱动包了 应该不是包的问题了 因为中间我怀疑是驱动包有误 还特地换了一个重新导入
但是现在还是一直报这个错
应该是mysql
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”
对了,你的包不要导入重复了
注意一下,你之前的包有没有被删除
重新下载一个吧
说明com.mysql.jdbc.Driver这个类没有找到
我猜:这句话你从别的地方拷贝来的.因为他的Driver类在这个包下.所以能运行,你包下没有这个类所以报错
你要做的就是点开com.mysql.jdbc.Driver去找这个Driver类.看看Driver这个类在那里提示: 因为下载的JDBC驱动不一样.所以Driver位置不一样.一般情况可能就1及目录的差别.
但是print出来的东西不是数据库里的东西啊
有大侠能继续指导下么按数据库里的表 不是应该打印出来第二条2tsettdst么
现在打出来的是