3

私は、Google Cloud SQL で GAE を使用するプロジェクトに取り組んでいます。このチュートリアルhttps://developers.google.com/appengine/docs/java/cloud-sql/developers-guide#use_with_langに従って、データベースに接続する方法を学びましたが、これまでのところ、ドライバーの登録を除いてすべて問題ありません部。私の直感では、ドライバーは 1 回だけ登録する必要がありますが、どこでいつ登録するのが最適なのかわかりません。インスタンスが開始されたときにいくつかのコードを実行できる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(...) を呼び出すだけです。

ありがとう、ロドリゴ。

4

1 に答える 1