我搜索了互联网,试图找到使用java和JDBC连接到MySQL的解决方案。不幸的是我找到了多个答案,没有解决我的问题。使用JDBC连接到MySQL
我从MySQL下载了JDBC,并解压缩文件以查找.jar。我把该.jar在我的C:/ Program Files文件(X86)/的Java/JDK .../JRE/lib/ext目录文件夹中。我把我的环境变量CLASSPATH(也许CLASSPATH,类路径??)以下:
%CLASSPATH%;.;C:\Program Files (x86)\Java\jdk1.8.0_65\jre\lib\ext
我用我由基于各种不同的解决方案,我已经看到了让这个脚本:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySql {
public static void main(String[] args)
{
Connection con = getConnection();
if (con != null) {
System.out.println("Connection Made");
}
else {
System.out.println("Connection not made");
}
}
private static Connection getConnection() {
Connection con = null;
try {
Class.forName("com.mysql.jdbc");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sakila", "java", "java");
System.out.println("Connection Made");
conn.close();
}
catch (SQLException e)
{
System.out.println(e.getMessage());
System.exit(0);
}
catch (ClassNotFoundException e)
{
System.out.println(e.getMessage());
System.exit(0);
}
return con;
}
}
它用javac MySql.java编译。然后当它运行(java MySql)时,我得到com.mysql.jdbc。我读过,我不需要注册驱动程序,但是当我删除Class.forName时,我得到的是'找不到JDBC驱动程序'错误。
我无法将问题缩小到两种: 1)。类路径没有正确设置。 2)。不正确的java连接代码。 3)。无法找到MySQL服务器。
任何帮助,将不胜感激。
编辑 -
我.jar文件放置到桌面以进行测试。更改的系统变量CLASSPATH:
%CLASSPATH%;.;C:\User\User\Desktop\mysql-connector-java-5.1.38-bin.jar
然后,当我添加了微量的错误说法,我得到:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader.findClass<Unkown Source>
at java.lang.ClassLoader.loadclass (Unknown source)
at sun.misc.Launcher$AppClassLoader.loadclass(Unkown Source)
etc.
etc.
编辑2 - 我一直在使用Connect Java to a MySQL database作为一种资源,没有的指令花了两天时间我跟着解决了我的问题。
如果发生异常并且将完整异常粘贴到您的问题中,您可以执行e.printStackTrace()吗?这个消息本身并没有太多帮助。 – Jan
您是否在构建路径中包含JDBC jar? –
现在是时候摆脱把东西扔进“....../jre/lib/ext”的习惯,显然这个选项[将在Java 9中删除](https://blogs.oracle.com/java-platform -group /项/ planning_safe_removal_of_under)。 –