#java #maven #jakarta-ee #jdbc #glassfish
#java #maven #джакарта-ee #jdbc #стеклянная рыба
Вопрос:
Я использую GlassFish, Maven и Commmand Line для размещения своего проекта.
Я создал базу данных JDBC в Glassfish, и теперь я пытаюсь создать в ней таблицу с помощью этого файла Java-EE:
package edu.ndnu.arivera;
import javax.sql.*;
import javax.annotation.Resource;
public class dbCreate{
@Resource(name="jdbc/arivera") DataSource ds;
public void connectAndQueryDB(String username, String password)
{
Connection con = ds.getConnection();
Statement stmt = con.createStatement();
stmt.executeQuery("CREATE TABLE Voter (firstName varchar(30),lastName varchar(30), address varchar(30), city varchar(30), state varchar(30), zip varchar(30), phone varchar(30), affil varchar(30))");
con.close();
}
}
Однако я получаю эту ошибку:
[ERROR] symbol: class Connection
[ERROR] location: class edu.ndnu.arivera.dbCreate
[ERROR] /home/student/ContestedCounty/src/main/java/edu/ndnu/arivera/dbCreate.java:[12,1] cannot find symbol
[ERROR] symbol: class Statement
[ERROR] location: class edu.ndnu.arivera.dbCreate
Я не уверен, что я делаю неправильно.
Комментарии:
1. В stackoverflow вы должны ограничиться одной темой в одном вопросе (и даже тогда ваш второй вопрос будет слишком широким). Я отредактировал ваш вопрос, чтобы удалить вторую часть, чтобы он стоял сам по себе.
Ответ №1:
Классы — это java.sql.Connection
и java.sql.Statement
. В настоящее время вы только импортируете javax.sql.*
, поэтому он не может найти эти классы.
Если вы хотите использовать классы из пакета, отличного от текущего пакета или java.lang
, вам необходимо импортировать классы (например import java.sql.Connection
, и import java.sql.Statement
). Любая среда разработки предложила бы вам это.
Ответ №2:
импортируйте эти два пакета:-
импорт java.sql.SQLException; импорт java.sql.Statement;
Причина, по которой отображается ошибка, заключается в том, что соединение с классом недоступно в пакете javax.sql. Спасибо,
Ответ №3:
Если вы обратитесь к javax.sql
пакету, вы обнаружите, что он не содержит thc Connection
и Statement
class. Но в вашем примере вы используете оба этих класса, поэтому очевидно, что вам нужно их импортировать. Поэтому просто импортируйте их из java.sql
пакета. Вы можете сделать это, добавив эти инструкции импорта java.sql.Connection
и java.sql.Statement
.
Попробуйте обработать SQLException
, окружив ваш код с try
помощью and catch
и закрыв соединение в finally
блоке.