Почему я не могу подключиться к MySQL базе данных драйверов в java? - PullRequest
0 голосов
/ 21 марта 2020

Здравствуйте, мой код подключения работает в другом классе, но здесь написано: Исключение в потоке "AWT-EventQueue-0" java .lang.IllegalStateException: Не удается найти драйвер в пути к классам!

мой код выглядит следующим образом:

tfield2.addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent e) {
                if(e.getKeyCode() == KeyEvent.VK_ENTER) {

                    if(tfield2.getText().equals("REC1U")) {

                        String url = "jdbc:mysql://localhost:3306/redpraire";
                        String username = "username";
                        String password = "password";

                        System.out.println("Connecting database...");

                        try (Connection connection = DriverManager.getConnection(url, username, password)) {
                            System.out.println("Database connected!");
                            Statement stmt = connection.createStatement();
                            try {
                                ResultSet rs = stmt.executeQuery("SELECT * FROM product");

                                while(rs.next()) {
                                  // some code here
                                }

                                rs.next();

                            } finally {
                                stmt.close();
                            }
                        } catch (SQLException ex) {
                            throw new IllegalStateException("Cannot connect the database!", ex);
                        }

                        System.out.println("Loading driver...");

                        try {
                            Class.forName("com.mysql.jdbc.Driver");
                            System.out.println("Driver loaded!");
                        } catch (ClassNotFoundException ex) {
                            throw new IllegalStateException("Cannot find the driver in the classpath!", ex);
                        }

                    } else {

                    }





                } else if(e.getKeyCode() == 121) {
                    frame.setVisible(false);
                    frame.dispose();
                    new QueryMenu();
                }
            }
        });

я пробовал разные способы изменить его, но ничего не получится ... в отдельном классе эта связь работает отлично ... у меня просто нет идей. любая помощь?

Ответы [ 2 ]

1 голос
/ 21 марта 2020

Попробуйте запустить его следующим образом:

java -cp path-to-jdbc-driver-jar your-java-class

например

java -cp hsqldb-2.2.9.jar org.hsqldb.util.DatabaseManagerSwing

Надеюсь, вы уже знаете о параметре -classpath или -cp. Если нет, go до этой документации.

0 голосов
/ 21 марта 2020

вы устанавливаете MySQL jdbc драйвер Подтвердите ваше подключение к базе данных с

Database -> new connection -> test connection

...