如何在netbeans控制台中显示数据库中的数据

时间:2014-05-15 14:16:50

标签: java jdbc

我想在netbeans的控制中显示我的记录。我有两个专栏:“naam”和“AantalTespelenRondes”。我想显示它们+数据库的记录。 这是我通过代码连接数据库的代码。

我使用List保存数据库的数据。但是当我执行时,我得到了这个

[domein.Spel@bddc6, domein.Spel@b0cf230]

这不是记录。如何在netbeans的控制中显示记录+列名

private final static String LEES_SPELERS_SQL = "SELECT Naam, AantalTeSpelenRondes FROM Spel";

  public List<Spel> geefSpel()
{
    List<Spel> spelLijst = new ArrayList<Spel>();
    //create Statement for querying database
    Statement statement;
    Connection connection = PersistentieController.getInstance().getConnection();
    try
    {
        statement = connection.createStatement();

        // query database
        ResultSet resultSet = statement.executeQuery(LEES_SPELERS_SQL);

        while (resultSet.next())
        {

            String Naam = resultSet.getString("Naam");
            int AantalRondes = resultSet.getInt("AantalTeSpelenRondes");


               Spel spel = new Spel(Naam,AantalRondes);
               spelLijst.add(spel);


        }
        statement.close();
       // return Spel;
    } catch (SQLException e)
    {
        e.printStackTrace();
    }

    return spelLijst;

1 个答案:

答案 0 :(得分:0)

  

我使用List保存数据库的数据。但是当我执行时,我得到了这个

[domein.Spel@bddc6, domein.Spel@b0cf230]

您当前正在打印Spel对象引用,它将使用toString方法。由于您没有覆盖它,因此会使用Object#toString

您有两种方法可以解决此问题

  • 覆盖toString类中的Spel方法:

    @Override
    public String toString() {
        //assuming this class has Naam and aantalRondes fields
        //replace by the real fields in your class
        return "{ Naam: " + naam + ", AantalRondes: " + aantalRondes + "}";
    }
    
  • 浏览List中的每个元素并手动打印所需的数据:

    for (Spel spel : spelLijst) {
        //use the format you want/need
        System.out.println(spel.getNaam() + " " + spel.getAantalRondes());
    }