2015-06-30 25 views
1

我是新來的playframework 2.38和JDBC,但我已經成功連接到MySQL,可以插入,但我不知道如何顯示記錄到瀏覽器使用jdbc或玩框架。我知道我靠近,這是我的控制器..java playframework我怎樣才能在視圖中顯示數據庫結果

public static Result getlocation() 
{ 
try { 

    Connection conn = DB.getConnection(); 
    ResultSet rs; 
    PreparedStatement ps = conn.prepareStatement("select city from zips where city=? limit 1"); 
    ps.setString(1,"Dallas"); 
    rs = ps.executeQuery(); 
    while (rs.next()) { 
     rs.getString("city"); 
    } 

    conn.close(); 
    return ok(rs.toString()); 
} catch (Exception e) { 
    System.err.println("Got an exception! "); 
} 


return ok(); 
    } 

所有我試圖做的是從MySQL獲得一個記錄,並把它傳遞給看法,但我得到這個錯誤 com.mysql.jdbc .JDBC4ResultSet @ 29ffd4fa 我的看法是這樣的

<html> 
    <head> 
     <title>Play project get database record </title> 
    </head> 

    <body> 

    </body> 
</html> 

我需要什麼就擺在展示我的數據庫記錄的看法?我在網上看到的所有信息都是關於play-scala,而不是關於Java。

回答

1

你得到的不是一個錯誤 - 這只是toString - 你的結果集的表示 - 這是你在寫這行rs.toString()時所做的。

比方說,你找到了你的城市,查詢,現在你在這裏:

rs.getString("city"); 

你可以使用這個作爲參數視圖 - 你「喂」的觀點與數據和視圖顯示這些數據。所以,你可以改變它,如:

String myCity = rs.getString("city"); 
return ok(cityTemplate.render(myCity)); 

現在,你的觀點(被命名爲cityTemplate.scala.html)必須能夠「消費」,你與餵養它的參數,所以它會是這樣的:

@(city: String) 
<html> 
    <head> 
     <title>Play project get database record </title> 
    </head> 

    <body> 
     <h1>Your city is @city</h1> 
    </body> 
</html> 

,請注意第一行與@(city: String) - 這就是你怎麼說「我的觀點是要接受一個參數,String類型的,名爲city然後你就可以在前面加上@它使用此參數。您可以在這裏瞭解更多關於Play Framework中的模板:https://www.playframework.com/documentation/2.3.x/JavaTemplates

+0

非常感謝,感謝幫助,解決了它。 –