尝试创建jdbc表

时间:2018-09-23 02:19:57

标签: java mysql database jdbc

到目前为止,我正在编写一个程序,该程序创建一个以前创建的现有JDBC数据库的表,下面是代码:

import java.sql.*;

public class Cars1 {
        public static void main(String[] args) {
           Connection conn = null;
           Statement stmt = null;
           try{
                        Class.forName("com.mysql.cj.jdbc.Driver").newInstance();

        System.out.println("Connecting to database...");
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbctraining?useSSL=false", "root", "Ed05021990");
        System.out.println("Sucessfully connected to database");
        System.out.println("Creating table in the selected database...");
        stmt = conn.createStatement();
        String sql = "create table Cars(id int, model varchar (50), price double)";
        stmt.executeUpdate(sql);
        System.out.println("Table created");
    }catch(SQLException se){
        se.printStackTrace();
    }catch(Exception e){
        e.printStackTrace();
    }
    finally {
        try {
            if(stmt!=null)
            conn.close();
        }
        catch(SQLException se) {
        }
        try {
            if(conn!=null)
                conn.close();
        }catch(SQLException se){
            se.printStackTrace();
        }
      }
      System.out.println("Disconnected from database");
    }
}

但是,它引发了一个“找不到类”异常,例如以下输出:

java.lang.ClassNotFoundException: com.mysql.cj.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 Cars1.main(Cars1.java:9)
Disconnected from database

我从未遇到过来自不同数据库的其他表这样的问题。您能帮我解决一下此类代码中的“错别字”吗?

1 个答案:

答案 0 :(得分:-1)

您使用了错误的mysql驱动程序类。

尝试一下:

Class.forName("com.mysql.jdbc.Driver");

在类路径中添加mysql-connector-java- {version} -bin.jar。