首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Linux的Java到MySql连接

问基于Linux的Java到MySql连接
EN

Stack Overflow用户
提问于 2014-08-08 05:23:57
回答 3查看 779关注 0票数 0

我在谷歌上搜索了这个话题,但我还没有找到答案。我在AWS Amazon实例中运行Java,试图将简单的java运行到mysql数据库。我可以通过mysql命令访问db fine。这个错误把我逼疯了。

注意,我是在/development下运行的,它恰好有jar文件。

代码语言:javascript
复制
[ec2-user@ip-172-31-16-232 development]$ ls
cProgram.c  Java2MySql.class  Java2MySql.java  mysql-connector-java-5.1.12.jar 

[ec2-user@ip-172-31-16-232 development]$ echo $JAVA_HOME
/usr/lib/jvm/java

[ec2-user@ip-172-31-16-232 development]$ java -cp /home/ec2-user/development/mysql-connector-java-5.1.12.jar Java2MySql.java

[ec2-user@ip-172-31-16-232 development]$ java Java2MySql
Where is your MySQL JDBC Driver?
MySQL JDBC Driver Registered!
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/smarteregsBlog
        at java.sql.DriverManager.getConnection(DriverManager.java:596)
        at java.sql.DriverManager.getConnection(DriverManager.java:215)
        at Java2MySql.main(Java2MySql.java:21)
Closing connection

Java2MySql.java

代码语言:javascript
复制
public class Java2MySql
{
 public static void main(String[] args) {

  String url = "jdbc:mysql://localhost:3306/myBlog";
  String driver = "com.mysql.jdbc.Driver";
  String userName = "sam";
  String password = "Yoo!";
  Connection conn = null;
  try {
       Class.forName(driver);
     }catch (ClassNotFoundException e) {
            System.out.println("Where is your MySQL JDBC Driver?");
    }

      System.out.println("MySQL JDBC Driver Registered!");

   try{
        conn = DriverManager.getConnection(url,userName,password);

      } catch (SQLException e) {
          e.printStackTrace();
      } finally {
       try {
            System.out.println("Closing connection");
            conn.close();
          } catch (Throwable ignore){}

     }
 }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-08 05:39:48

似乎您只在编译时提供jar,而在执行代码时没有提供jar类路径:

代码语言:javascript
复制
javac -cp /home/ec2-user/development/mysql-connector-java-5.1.12.jar Java2MySql.java

我认为它是一个错误的javac而不是java

在执行代码时还需要提供jar路径。所以改变这个

代码语言:javascript
复制
java Java2MySql

至

代码语言:javascript
复制
java -cp .:/home/ec2-user/development/mysql-connector-java-5.1.12.jar Java2MySql

注释:MySQL连接器-java-5.1.12.jar在运行时才是必需的,因为您是动态加载类的。

票数 1
EN

Stack Overflow用户

发布于 2014-08-08 05:34:30

在编译类时,在本例中不需要指定jar,非常简单,这将完成以下工作

代码语言:javascript
复制
javac Java2MySql.java

改变这个

代码语言:javascript
复制
java -cp /home/ec2-user/development/mysql-connector-java-5.1.12.jar Java2MySql.java

至

代码语言:javascript
复制
java -cp .:pathOfTheDriverJar/mysql-connector-java-5.1.12.jar Java2MySql
票数 0
EN

Stack Overflow用户

发布于 2014-08-08 05:41:38

确保mysql连接器jar位于类路径中。将其复制到类文件无法工作的文件夹中。或者您可以简单地将其复制到jdk的lib文件夹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25196522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档