2012年3月29日木曜日

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

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

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

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

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

ウェブフォームの作成
次に、投稿テーブル内の投稿を並べ、新しい投稿をポストするシンプルなフォームを提供するサンプルアプリケーションの前面部分を作成します。
war/ディレクトリ内に、以下のコードのinstance_nameをあなたのインスタンス名に変更して、guestbook.jspという名前の新しいファイルを作成します:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.List" %>
<%@ page import="java.sql.*" %>
<%@ page import="com.google.appengine.api.rdbms.AppEngineDriver" %>

<html>
  <body>

<%
Connection c = null;
c = DriverManager.getConnection("jdbc:google:rdbms://instance_name/guestbook");
ResultSet rs = c.createStatement().executeQuery("SELECT guestName, content, entryID FROM entries"); %>

<table style="border: 1px solid black">
<tbody>
<tr>
<th width="35%" style="background-color: #CCFFCC; margin: 5px">Name</th>
<th style="background-color: #CCFFCC; margin: 5px">Message</th>
<th style="background-color: #CCFFCC; margin: 5px">ID</th>
</tr> <%
while (rs.next()){
    String guestName = rs.getString("guestName");
    String content = rs.getString("content");
    int id = rs.getInt("entryID"); %>

<tr>
<td><%= guestName %></td>
<td><%= content %></td>
<td><%= id %></td>
</tr>

<% }
c.close(); %>

</tbody>
</table>
<br />
No more messages!
<b>Sign the guestbook!</b>
<form action="/sign" method="post">
<div>
First Name: <input name="fname" type="text" /></div>
<div>
Message:
    
<textarea cols="60" name="content" rows="3"></textarea>
    </div>
<div>
<input type="submit" value="Post Greeting" /></div>
<input name="guestbookName" type="hidden" />
  </form>

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

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/

2012年3月25日日曜日

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

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

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

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

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

JDBCドライバの登録
Google Cloud SQLを使用するJavaアプリケーションを書く前に、サービスに接続するための適切なドライバを提供する必要があります。Goolge Plugin for Eclipseでは、この目的に沿った適切なJDBCドライバを提供しています。ドライバの使用には、クラスにimport com.google.appengine.api.rdbms.AppEngineDriverインポート文を加えてください。サンプルアプリケーションでは、以下のコードをコピー・貼り付けすることでGuestbookServletのimport文を上書きしてください。太字の行は、App Engineドライバをインポートしている部分です:

import com.google.appengine.api.rdbms.AppEngineDriver;

import java.io.IOException;
import java.sql.*;
import.javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

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

2012年3月23日金曜日

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

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

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

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

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

Step 3:アプリケーションの変更

App Engineアプリケーションの骨格が組みあがったら、以下のステップのようにアプリケーションを変更して、Google Cloud SQLインスタンスを使用するようにします。
  1. JDBCドライバの登録
  2. データベースへの接続と投稿
  3. ウェブフォームの生成
  4. サーブレットのマッピング

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

2012年3月17日土曜日

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

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

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

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

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

Step 1:サンプルのApp Engineアプリケーションを生成する

App Engine Java Getting Startedガイド内のCreating a Projectの章の指示に従って、シンプルなApp Engineアプリケーションを生成します。

Step 2:データベースとテーブルの生成

SQL promptまたはcommand line toolを使用します:
  1. 以下のSQLステートメントを使って、guestbookという名前で新しいデータベースを生成します。
    CREATE DATABASE guestbook;
  2. データベースを選択します:
    • コマンドラインツールを使用する場合、以下のステートメントで新しいデータベースを選択します。
      USE guestbook;
    • SQLプロンプトを使用している場合は、ドロップダウンメニューから新しいデータベースを選択します。
  3. ゲストの名前、メッセージの内容、ランダムなIDのカラムを持つ、entriesという名前のテーブルを、以下のステートメントを使って生成します:
    CREATE TABLE entries (guestName VARCHAR(255), content VARCHAR(255), entryID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(entryID));

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

2012年3月12日月曜日

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

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

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

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

第1回はこちら、第2回はこちら、第3回はこちらです。

Using Google Cloud SQL with Java - JavaでGoogle Cloud SQLを使う

Eclipleでの開発
Google Cloud SQLインスタンスの設定、Google Cloud SQLインスタンスを使用することのできるApp Engineアプリケーションの生成や配置には、Google Plugin for Eclipseを利用することができます。
以下のサンプルは、ユーザーが送信したゲストブックのエントリを集めた「ゲストブックデータベース」に読み書きする、ウェブフォームを提供します。サンプルアプリケーションは、Google Cloud SQLインスタンスの読み書きのような、いくつかの基本的な機能を提示するためにApp Engineを使用します。

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

2012年3月10日土曜日

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

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

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

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

第1回はこちら、第2回はこちらです。

MySQL Case Sensitivity - MySQLの大文字・小文字の区別

データベースやテーブルを使用・生成する場合、Google Cloud SQL内では全ての識別子について、大文字・小文字が区別されることに注意してください。このことは、全てのテーブルとデータベースは生成時間によって特定される、同じ名前と大文字小文字の種別で保存されることを意味します。データベースやテーブルにアクセスを試みる場合、データベースまたはテーブルの正確な名前を使用していることを確認してください。
例えば、PersonsDatabaseという名前のデータベースを生成すると、personsDatabaseやpersonsdatabaseのような、その名前の他の変化形を使ってデータベースを参照することはできません。識別子の大文字・小文字の区別について、より詳しくはMySQL documentation(MySQLのドキュメント)を参照してください。

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

2012年3月8日木曜日

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

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

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

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

第1回はこちらです。

Before You Begin - 始める前に

まだ行っていない場合は、先を続ける前に、このガイドのBefore You Beginの章を読み、ステップを完了してください。そのドキュメント内では、以下の内容を実行する手助けをしています:
  • 限定プレビューへのサインアップ
  • Google Cloud SQLインスタンスの生成
  • App Engineアプリケーションからインスタンスへのアクセス権限の設定
  • Google App Engine SDKのインストール

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

2012年3月2日金曜日

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

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

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

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

Getting Started: Java - はじめに:Java

このドキュメントは、JavaでGoogle Cloud SQLインスタンスを使う方法について記述しています。

Before You Begin - 始める前に
Using Google Cloud SQL with Java - JavaでGoogle Cloud SQLを使う
Deploying Your Application to Google App Engine - Google App Engineにアプリケーションを配置する
Accessing Your Application - アプリケーションにアクセスする
Using a Local MySQL Instance During Developtment - 開発にローカルMySQLインスタンスを使用する
Size and Access Limits - サイズとアクセスの制限

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