Здравствуйте. Я совсем новичок в java и мне не понятен один моммент. Я использую драйвер JDBC для работы с бд, а тот в свою очередь, требует подключения своих библиотек в пакете com.mysql. У меня два файла, 1 - базовый класс App.java, второй класс реализующий работу с бд - DB.java. DB выполняет запрос и возвращает массив типа ResultSet. Это класс из пакета com.mysql. Так вот, я правильно понимаю, что в App.java должен быть подключен класс com.mysql.ResultSet или строчки в DB.java будет достаточно(компилятор ругается и утверждает обратное, но мне не ясно зачем импортировать еще раз, когда этот класс уже подключен в DB, а DB подключен в App)?
Потому что когда Вы пишете в App.java ResultSet users = DB.getUsers();
компилятор не будет знать, что за ResultSet здесь имеется в виду. Ему надо будет посмотреть в DB, в нем уже посмотреть в используемый класс из com.mysql. И так далее. Если же указать класс, то компилятору сразу понятно, что здесь вернется, какие исключения могут быть выкинуты. И программисту понятно.
P.S. Можете в DB.getUsers() (к примеру) преобразовывать ResultSet в массив, ну или в коллекцию. Имхо так даже правильнее будет, App как бы и не должен знать, откуда и как берутся данные.
Мне кажется в классе App вы используете какую-либо часть библиотеки MySQL, поэтому и ругается. Так если DB возвращает ResultSet в App, то App без импорта библиотеки MySQL не знает тип ResultSet, т.к. его нет в базовых типах Java.