我正在开展一个项目,我们将 GAE 与 Google Cloud SQL 结合使用。我已经按照本教程https://developers.google.com/appengine/docs/java/cloud-sql/developers-guide#use_with_lang学习如何连接到数据库,到目前为止一切都很好,除了驱动程序注册部分。我的直觉告诉我,司机应该只注册一次,但我不知道何时何地是最好的地方。gae中是否有一种初始化功能可以在实例启动时执行一些代码?或者可能是一个可以加载资源的 xml 文件?
到目前为止,我的代码如下所示:
try {
// Connect to the db.
DriverManager.registerDriver(new AppEngineDriver());
Connection c = DriverManager.getConnection(JDBC_CON_STRING);
// Fetch rows
String sql = "SELECT * FROM test";
ResultSet rs = c.createStatement().executeQuery(sql);
ArrayList<BaseUser> users = new ArrayList<BaseUser>();
while(rs.next()){
BaseUser u = new BaseUser();
u.setFirstname(rs.getString("firstname"));
u.setLastname(rs.getString("lastname"));
users.add(u);
}
rs.close();
c.close();
// Print the users in the console.
for (BaseUser user : users) {
logger.info("Firstname: " + user.getFirstname() + ", Lastname: " + user.getLastname());
}
} catch (SQLException e) {
e.printStackTrace();
}
我想去掉第一行,把它放在一个只会执行一次的地方,然后,每次我收到需要 sql 事务的请求时,我只需要调用 DriverManager.getConnection(...)
谢谢你,罗德里戈。