这个问题在这里已经有答案了:
将java连接到mysql数据库(14个答案)
两年前关门了。
我正在创建一个简单的jdbcjava应用程序,我在库中添加了mysql jar文件,并将其保存在参考库中,但得到的错误是java.lang.classnotfoundexception
我正在使用mysql 8.0.12
java.lang.ClassNotFoundException: com.mysql.jdbc.driver
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.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at Jdbc.main(Jdbc.java:15)
java.lang.NullPointerException
at Jdbc.main(Jdbc.java:32)
我的代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Savepoint;
import java.sql.Statement;
public class Jdbc {
public static void main(String[] args) {
Connection con=null;
Statement st=null;
try {
Class.forName("com.mysql.jdbc.driver");
con=DriverManager.getConnection("jdbc:mysql//localhost:3306/rakeshdb","root","raki");
con.setAutoCommit(false);
st=con.createStatement();
st.executeUpdate("insert into emp values(111,'RAkE',100000,'hyd')");
Savepoint sp=con.setSavepoint();
st.executeUpdate("insert into emp values(222,'RAkESH',10000,'sec')");
con.rollback();
st.executeUpdate("insert into emp values(333,'RAkI',1000,'bvrm')");
con.commit();
System.out.println("Transcation SUCCESS");
} catch (Exception e) {
e.printStackTrace();
try {
con.rollback();
System.out.println("Transcation FAILURE");
} catch (Exception e2) {
e2.printStackTrace();
}
}finally {
}
}
}
3条答案
按热度按时间kiayqfof1#
预计:
作为
com.mysql.jdbc.driver
不是mysql的jdbc驱动程序类。但是
com.mysql.jdbc.Driver
是。qvk1mo1f2#
您需要从它们的(sql)站点和库中的input.jar文件安装sql驱动程序。
jogvjijk3#
出现错误是因为在中提供了错误的驱动程序类详细信息
Class.forName()
.我建议你不要把这个当作
Class.forName()
从JDBC4.0开始就不需要了。在类路径中找到的任何JDBC4.0驱动程序都会自动加载。所以,试试看
commenting that line
运行你的程序。如果类路径中有驱动程序jar文件,则应该自动加载它(假设您使用的是jdbc4.0驱动程序)