ActiveRecord-JDBCを用いてデータベースにアクセスするには利用するデータベースのJDBCドライバが必要です。JDBCライブラリを配置するために、まず下記URLからMySQLのJDBCドライバのアーカイブをダウンロードしてください。
今回の動作確認にはバージョン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上で動作しているか確認してもよいでしょう。
|