JRuby + DBI + JDBC + MySQL JDBC DriverでMySQLに接続する

·1 分で読めます

まず、DBIなどのライブラリをインストールする。

$ jruby -S gem install dbi dbd-jdbc jdbc-mysql

こんなスクリプト書いてみる。

require 'dbi'

require 'dbd/Jdbc'

require 'jdbc/mysql'

Jdbc::MySQL.load_driver

DBI.connect(

'DBI:Jdbc:mysql://localhost/test',

'root', 'test',

'driver' => 'com.mysql.jdbc.Driver'

) do |dbh|

puts "Connected"

end

5行目の "Jdbc::MySQL.load_driver" がないと怒られるので注意。

$ jruby connect.rb

DBI::DatabaseError: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

connect at /usr/local/jruby-1.7.3/lib/ruby/gems/shared/gems/dbd-jdbc-0.1.6-java/lib/dbd/jdbc/driver.rb:66

connect at /usr/local/jruby-1.7.3/lib/ruby/gems/shared/gems/dbi-0.4.5/lib/dbi/handles/driver.rb:33

connect at /usr/local/jruby-1.7.3/lib/ruby/gems/shared/gems/dbi-0.4.5/lib/dbi.rb:148

(root) at /Users/oinume/Dropbox/code/ruby/connect.rb:6

うまくいった場合。

$ jruby connect.rb

Connected

[tmkm-amazon]4798121444[/tmkm-amazon]