Java 如何在LinuxMint中使用OpenJDK连接到MySQL
我在尝试使用以下代码获取数据库连接时遇到问题:Java 如何在LinuxMint中使用OpenJDK连接到MySQL,java,mysql,jdbc,openjdk,Java,Mysql,Jdbc,Openjdk,我在尝试使用以下代码获取数据库连接时遇到问题: import java.lang.*; import java.sql.*; public class Demo { public static void main(String[] args){ try{ Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?" + "user=test&am
import java.lang.*;
import java.sql.*;
public class Demo {
public static void main(String[] args){
try{
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?" + "user=test&password=123456");
}catch(SQLException ex){
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}catch(Exception ex){
System.out.println("Exception: " + ex.getMessage());
}
}
}
输出的错误消息为:
SQLException: No suitable driver found for jdbc:mysql://127.0.0.1:3306/test?user=test&password=123456
SQLState: 08001
VendorError: 0
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at Demo.main(Demo.java:9)
我的java版本如下:
java -> /usr/lib/jvm/java-6-openjdk-i386/bin/java
javac -> /usr/lib/jvm/java-6-openjdk-i386/bin/javac
javac.1.gz -> /usr/lib/jvm/java-6-openjdk-i386/man/man1/javac.1.gz
javadoc -> /usr/lib/jvm/java-6-openjdk-i386/bin/javadoc
javadoc.1.gz -> /usr/lib/jvm/java-6-openjdk-i386/man/man1/javadoc.1.gz
javah -> /usr/lib/jvm/java-6-openjdk-i386/bin/javah
javah.1.gz -> /usr/lib/jvm/java-6-openjdk-i386/man/man1/javah.1.gz
javap -> /usr/lib/jvm/java-6-openjdk-i386/bin/javap
javap.1.gz -> /usr/lib/jvm/java-6-openjdk-i386/man/man1/javap.1.gz
javaws -> /usr/lib/jvm/java-6-openjdk-i386/jre/bin/javaws
javaws.1.gz -> /usr/lib/jvm/java-6-openjdk-i386/jre/man/man1/javaws.1.gz
我真的不知道如何解决这个错误消息。数据库存在。用户名和密码已存在。我目前还没有向数据库添加任何表,但我认为这不是问题所在,因为我毕竟只是在建立连接
驱动程序安装在/usr/share/java下
-rw-r--r-- 1 root root 822524 10月 20 2011 mysql-connector-java-5.1.16.jar
-rw-r--r-- 1 root root 827942 9月 9 22:40 mysql-connector-java-5.1.21-bin.jar
lrwxrwxrwx 1 root root 35 9月 9 22:40 mysql-connector-java.jar -> mysql-connector-java-5.1.21-bin.jar
lrwxrwxrwx 1 root root 24 10月 20 2011 mysql.jar -> mysql-connector-java.jar
有人知道怎么修吗。。
谢谢你的帮助!
:)确保项目库中有mysql连接器驱动程序(即jar文件)。当没有合适的驱动程序时,会出现此错误消息
您可以下载MySQL连接器驱动程序。我也遇到了同样的问题,它帮助我找到了一个新的解决方案 注意:我使用的是Maven 所以我决定尝试这种依赖性:
在我添加到
pom.xml
并运行mvn compile exec:java
之后,它工作了。我安装了驱动程序,但仍然存在问题。。驱动程序位于/usr/share/java/code
mysql-connector-java-5.1.16.jar mysql-connector-java-5.1.21-bin.jar mysql-connector-java.jar->mysql-connector-java-5.1.21-bin.jar mysql-connector-java.jar->mysql-java.jar您是否使用eclipse或netbeans之类的IDE?您的类路径似乎配置不正确。因此,请正确配置类路径。试着使用/usr/share/java/mysql-connector-java.jar我把mysql-connector-java-5.1.21-bin.jar放到/usr/lib/jvm/java-6-openjdk/jre/lib/ext,现在一切都好了!非常感谢。