2015-06-30 29 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

非常感谢,感谢帮助,解决了它。 –