2012年3月26日月曜日

Google Cloud SQLのドキュメント - Getting Started:Using Java (はじめに:Java) その8

クラウド上でMySQLインスタンスを利用できる、
Google Cloud SQLのドキュメントを翻訳してみます。

Google Cloud SQLは現在のところはプレビューとなっています。
しかし、翻訳の内部でも書いていますが、
もうすぐ(soon)、課金についての発表があるそうです。

Google Cloud SQLのドキュメントのうち、
Getting Started:Using Java(はじめに:Java)
を翻訳してみます。

第1回はこちら、第2回はこちら、第3回はこちら
第4回はこちら、第5回はこちら、第6回はこちら
第7回はこちらです。

データベースへの接続と投稿
以下のコードでGuestbookServletのdoGet()メソッドを上書きして、instance_nameの部分をあなたのインスタンス名に書き直してください。このコードは以下の動作を行います:
  • getConnection()メソッドを呼び出して接続を初期化し、インスタンス名を渡します。
  • ウェブフォームから内容を収集して、サーバーにpostします。
  • guestbook.jsp(このドキュメントの後のほうで作成します)というファイルに、ユーザーをリダイレクトします。
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
  throws IOException {
   
  PrintWriter out = resp.getWriter();
  Connection c = null;
    try {
      DriverManager.registerDriver(new AppEngineDriver());
      c = DriverManager.getConnection("jdbc:google:rdbms://instance_name/guestbook");
      String fname = req.getParameter("fname");
      String content = req.getParameter("content");
      if (fname == "" || content == "") {
        out.println("You are missing either a message or a name! Try again! Redirecting in 3 seconds...");
      } else {
      String statement ="INSERT INTO entries (guestName, content) VALUES( ? , ? )";
      PreparedStatement stmt = c.prepareStatement(statement);
      stmt.setString(1, fname);
      stmt.setString(2, content);
      int success = 2;
      success = stmt.executeUpdate();
      if(success == 1) {
        out.println("Success! Redirecting in 3 seconds...");
      } else if (success == 0) {
        out.println("Failure! Please try again! Redirecting in 3 seconds...");
      }
     }
    } catch (SQLException e) {
        e.printStackTrace();
      } finally {
          if (c != null) 
            try {
              c.close();
            } catch (SQLException ignore) {
              }
      } resp.setHeader("Refresh","3; url=/guestbook.jsp");
  }
上の例では、Google Cloud SQLインスタンスにrootユーザーとして接続していますが、インスタンスに特定のデータベースのユーザーとして接続することもできます:
Connection c = DriverManager.getConnection("jdbc:google:rdbms://instance_name/database", "user", "password");
database
[任意]接続するデータベース
user
[任意]接続するデータベースのユーザー
password
[任意]ユーザーのパスワード
データベースのユーザーの生成方法についての情報は、Library Access for Usersを参照してください。

インストール不要・無料のKaede翻訳ツール:
http://kaedetrans.appspot.com/

0 件のコメント:

コメントを投稿