我是playframework 2.38和JDBC的新手,但我已经成功连接到MySQL并且可以进行插入,但是我不知道如何使用jdbc或play框架向浏览器显示记录。我知道我很接近这是我的控制器......
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。
答案 0 :(得分:1)
你得到的不是错误 - 这只是结果集的toString
- 表示 - 这就是你在写这行rs.toString()
时所做的。
让我们说你找到了你的城市查询,现在你在这里:
rs.getString("city");
您可以将其用作视图的参数 - 您可以提供&#39;带数据的视图和视图显示此数据。所以你可以改变它:
String myCity = rs.getString("city");
return ok(cityTemplate.render(myCity));
现在,您的观点(名为cityTemplate.scala.html
)必须能够消费&#39;你正在喂它的参数,所以它将是这样的:
@(city: String)
<html>
<head>
<title>Play project get database record </title>
</head>
<body>
<h1>Your city is @city</h1>
</body>
</html>
注意@(city: String)
的第一行 - 这就是您的说法&#34;我的视图将接受一个String
类型的参数,名称为city
。然后,您可以通过在@
前加上此参数来使用此参数。您可以在此处详细了解Play Framework中的模板:https://www.playframework.com/documentation/2.3.x/JavaTemplates