2011年3月4日金曜日

SQL4G

AppEngineにSQL3gを入れて,SQL文を使えるようにしてみる.
詳しいインストール方法はhttp://www.littlesoft.jp/sql4g/#installここをチェック.

そのまま使うとweb.xmlでWarningが出たりするけど無視して進める.
と,http://localhost:8888/sql4gadminにつなげば,SQL4GAdminが立ち上がって,色々操作ができるようになります.
とりあえず,TESTというデータベースを作成して,
create table test_tbl (id int auto_increment, text text);
を実行すると,テーブルができあがった.
insert into test_tbl (text) values ('hoge');
で,データを入れておく.

その後,適当なActionを作って,
package com.appspot.tori.sql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class SqlTestAction extends Action {

 /* (非 Javadoc)
  * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
  */
 @Override
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  // JDBCドライバーをロード
  Class.forName("jp.littlesoft.sql4g.Driver");
  // コネクションオブジェクトを取得
  Connection con = DriverManager.getConnection("TEST", "user", "password");

  try{
   Statement st = con.createStatement();
   ResultSet rs = st.executeQuery("select * from test_tbl");
   while(rs.next()){
    System.out.println(rs.getInt("id"));
    System.out.println(rs.getString("text"));
   }
  }finally{
   con.close();
  }
  return super.execute(mapping, form, request, response);
 }

}
ってな感じで実行してみたら,
1
hoge
って出力された.
おお,すごいぞ.

0 件のコメント: