Java 用SQL表中的值填充ArrayList

Java 用SQL表中的值填充ArrayList,java,sql,netbeans,arraylist,prepared-statement,Java,Sql,Netbeans,Arraylist,Prepared Statement,我正在进行一个项目,其中我有一个SQL表,其中只有一列包含假日名称字符串。我正在尝试使用一个准备好的语句将该列中的所有假日名称放入arraylist,我必须使用一个准备好的语句。然而,我只是对自己做错的事情感到茫然。谢谢请随时要求澄清。仅供参考,数据库url正确,我希望访问的列名为holidays public class Holidays { private ArrayList<String> holidays; final String DATABASE_URL = "jdbc

我正在进行一个项目,其中我有一个SQL表,其中只有一列包含假日名称字符串。我正在尝试使用一个准备好的语句将该列中的所有假日名称放入arraylist,我必须使用一个准备好的语句。然而,我只是对自己做错的事情感到茫然。谢谢请随时要求澄清。仅供参考,数据库url正确,我希望访问的列名为holidays

public class Holidays
{
private  ArrayList<String> holidays;
final String DATABASE_URL = "jdbc:derby://localhost:1527/MovieAgent";
final String SELECT_QUERY = "SELECT HOLIDAYS FROM HOLIDAY";
final String USERNAME = "james";
final String PASSWORD = "am";
private Connection connection;
private Statement statement;
private PreparedStatement selectHolidays;
private PreparedStatement insertHoliday;
private int rowCount;

public Holidays()
{        
    String holidayName;
    holidays = new ArrayList<>();

    try{
    connection = DriverManager.getConnection(DATABASE_URL, "al", "al");   
    statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
    selectHolidays = connection.prepareStatement(SELECT_QUERY);
    ResultSet resultSet;
    resultSet = selectHolidays.executeQuery();

    while(resultSet.next())
    {
        holidayName = resultSet.getString(1);
        holidays.add(holidayName);
    }

    }catch(SQLException sqlException)
    {
        sqlException.printStackTrace();
        System.exit(1);
    }     
}
编辑:对不起,我漏掉了,它根本不起作用。这些值只是没有出现在arraylist中。arraylist假日似乎为空。

请尝试更改

final String SELECT_QUERY = "SELECT HOLIDAYS FROM HOLIDAY";


因为表格只有一列。

生成列表,所以设置一个起始值,然后查看是否至少在列表中。 如果是这样的话,那么查询或准备有问题

public Holidays()
{        
    String holidayName;
    ArrayList<String> holidays = new ArrayList<String>();
    holidays.add("-- start --");
    try{
 [...]
    while(resultSet.next())
    {

    }
    System.out.println("Holidays names are : "+holidays);

 [...]

有什么问题吗?什么不起作用?很抱歉,忘了包括那个。arraylist只是显示为空。我没有收到任何错误,但在某个过程中,我遇到了一些错误,阻止了arraylist获取值。您在哪里尝试过超出数组列表?这没有包括在内,但这肯定会起作用,因为我的教授给了我们这部分代码。@user2921180:您看到我的答案了吗?假期开始吗?你能在Netbeans中看到数据吗看看连接字符串!
public Holidays()
{        
    String holidayName;
    ArrayList<String> holidays = new ArrayList<String>();
    holidays.add("-- start --");
    try{
 [...]
    while(resultSet.next())
    {

    }
    System.out.println("Holidays names are : "+holidays);

 [...]