TOPシステム開発> JDBCの設定
JRuby
JRubyを知る!

第4回:JavaEEでRailsを動かす!

著者:アスタリクス  大西 正太   2007/9/21
前のページ  1  2  3   4  次のページ
JDBCの設定

   ActiveRecord-JDBCを用いてデータベースにアクセスするには利用するデータベースのJDBCドライバが必要です。JDBCライブラリを配置するために、まず下記URLからMySQLのJDBCドライバのアーカイブをダウンロードしてください。
MySQLのダウンロードサイト
http://dev.mysql.com/downloads/

   今回の動作確認にはバージョン5.1.2のJDBCドライバをダウンロードしました。アーカイブを展開すると、中から「mysql-connector-java-5.1.2-beta-bin.jar」という名前のJDBCドライバファイルが入手できます。このJDBCファイルをクラスパスが通る場所に配置するか、環境変数CLASSPATHに追加します。

   ここでは、Tomcatによってクラスパスが通される「C:\work\apache-tomcat-6.0.14\lib」に配置したうえで、下記のように環境変数CLASSPATHに追加しました。

>set
CLASSPATH=%CLASSPATH%;C:\work\apache-tomcat-6.0.14\lib\mysql-connector-
java-5.1.2-beta-bin.jar

   次にActiveRecord-JDBCを用いてデータベースアクセスするための設定をします。まず「C:\work\sample_war\config\environment.rb」にライブラリ利用の読み込み宣言をします。下記リストの赤字部分を追加記述してください。

Rails::Initializer.run do |config|
 require 'rubygems'
 gem 'ActiveRecord-JDBC'
 require 'jdbc_adapter'
...
end

   続いて「C:\work\sample_war\config\database.yml」を下記のように記述し、JDBC接続の設定をします(今回はサンプルということで、すべての環境タイプに同じDBコネクション情報を指定しています)。

development:
  adapter: jdbc
  driver: com.mysql.jdbc.Driver
  url: jdbc:mysql://localhost/sample
  username: root
  password:
  host: localhost
test:
  adapter: jdbc
  driver: com.mysql.jdbc.Driver
  url: jdbc:mysql://localhost/sample
  username: root
  password:
  host: localhost
production:
  adapter: jdbc
  driver: com.mysql.jdbc.Driver
  url: jdbc:mysql://localhost/sample
  username: root
  password:
  host: localhost

   以上で環境設定は完了です。


サンプルアプリケーションの作成

   続いてサンプルアプリケーションを作ります。データベースとテーブルの作成のために、下記のコマンドを入力してMySQLにsampleデータベースとitemsテーブルを作成します。

C:\>mysql -u root
mysql> create database sample;
Query OK, 1 row affected (0.27 sec)
mysql> use sample;
Database changed
mysql> create table items (id integer primary key auto_increment, name varchar(256), value varchar(256));
Query OK, 0 rows affected, 2 warnings (0.66 sec)

   今回はRoRに備わっているscaffoldジェネレータをそのままJRubyで動かし、サンプルアプリケーションをジェネレートします。

C:\work\sample_war>jruby script\generate scaffold Item
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/items
      exists  app/views/layouts/
(以下略)

   ここで先ほどと同様に、今作成したアプリケーションが単純にJRuby上で動作しているか確認してもよいでしょう。


WARファイルの生成

   ここまででWARファイルにアーカイブするサンプルは揃いました。GoldSpikeを用いてWARの生成を実行しましょう。WAR生成のコマンドは表3に示したrakeタスクとして提供されています。

コマンド 説明
war:standalone:create アプリケーションに加えてJRubyとRailsのライブラリを含んだWARを生成する。
war:shared:create アプリケーションのみのWARを生成する。動作時に環境変数JRUBY_HOMEの指定などが必要。

表3:GoldSpikeのコマンド

   今回はライブラリ込みでWARを生成します。下記のようにコマンドを実行してください。

C:\work\sample_war>jruby -S rake war:standalone:create
(in C:/work/sample_war)
info: Assembling web application
info: Packing needed Java libraries ...
info: adding Java library commons-pool-1.3
info: adding Java library activation-1.1
(以下略)

   実行に成功すると、WARファイルは「C:\work\sample_war\sample_war.war」として生成されています。

前のページ  1  2  3   4  次のページ


株式会社アスタリクス 大西 正太
著者プロフィール
株式会社アスタリクス  大西 正太
JavaEEフレームワークの設計構築や開発プロセス策定などの業務を経て、現在は新規ビジネス創生に携わる。Ruby on Rails上に構築したオープンソースのCMS「Rubricks」(http://rubricks.org/)のコミッタ。


INDEX
第4回:JavaEEでRailsを動かす!
  JRubyとRailsの連動
  Railsアプリケーションの作成
JDBCの設定
  アプリケーションサーバへのデプロイと動作確認