rjbを使う

ASRを入れたのでrjbを使ってみる。


#!/usr/local/bin/rubyrequire "rjb"
Rjb::import("org.hsqldb.jdbcDriver")
RDB = Rjb::import("rubbish.db.TinyRubbishDatabase")
db = RDB.new
db.setLogging(true)
db.connect("jdbc:hsqldb:hsql://localhost", "sa", "");

sql = <<EOS
SELECT ID, NAME FROM PUBLISHER
WHERE ID > ? ORDER BY ID
EOS

rows = db.query(sql, "02")

for row in rows
puts row.toString
end
db.disconnect


~/ruby/rjb$ ./foo.rb
connect database 'url=jdbc:hsqldb:hsql://localhost, user=sa, password='.
issue sql 'SELECT ID, NAME FROM PUBLISHER WHERE ID > ? ORDER BY ID [02]'.
result 'rows=4 ([Ljava.util.Map;)' <-- SELECT ID, NAME FROM PUBLISHER WHERE ID > ? ORDER BY ID [02]
{id=03, name=曙蓬莱新聞社}
{id=04, name=太公望書林}
{id=05, name=日本曙蓬莱武術協会}
{id=06, name=民明書房}
disconnect database.
JDBCでデータベースにアクセスできるのが良い感じ。
putsだと、いちいちtoStringを呼ぶ必要があるのがちと面倒。