来自sql表的第一个条目未在java中检索

时间:2015-07-22 08:37:25

标签: java sql jdbc

我试图在java类中从MySQL数据库中获取记录,并且first条目没有被获取。 以下是我尝试获取记录的课程:

public class BookDaoImpl
{
    private static String SELECT;

    static
    {
        SELECT = "SELECT * FROM databaseName.books;"; 
    }

    public BookDaoImpl()
    {
        connection = JDBCDaoImpl.getConnection();
    }

    public List<Book> fetchBooksList() throws SQLException
    {
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery(SELECT);

        if (!resultSet.next())
            return null;

        List<Book> listOfBooks = new ArrayList<Book>();
        Book tempBook;

        while (resultSet.next())
        {
            tempBook = new Book();

            tempBook.setBookId(resultSet.getInt("bookId"));
            tempBook.setBookName(resultSet.getString("bookName"));
            tempBook.setBookPrice(resultSet.getInt("bookPrice"));
            tempBook.setBookQuantity(resultSet.getInt("bookQuantity"));

            listOfBooks.add(tempBook);
        }

        System.out.println("listOfBooks : ");

        for (int i = 0; i < listOfBooks.size(); i++)
        {
            System.out.println(listOfBooks.get(i));
        }

        return listOfBooks;
    }
}

此外,即使我在表格中添加了更多条目,第一个条目仍然没有。

1 个答案:

答案 0 :(得分:5)

你跳过第一个条目:

if (!resultSet.next())
    return null;

如果删除这两行代码,您的方法将正常工作(但如果不存在任何条目,则返回空列表而不是null)。