这是一个与jubc-sqlite3 3.7.2一起使用JRuby 1.6.6(在Ruby 1.8 compat模式下)的示例.
require 'rubygems'
require 'jdbc/sqlite3'
require 'java'
org.sqlite.JDBC # load the driver so DriverManager detects it
#Java::OrgSqlite::JDBC # alternate means of same
connection = java.sql.DriverManager.getConnection 'jdbc:sqlite:test.sqlite3'
begin
statement = connection.createStatement
begin
statement.executeUpdate("create table user (name varchar, pass varchar)")
statement.executeUpdate("insert into user values ('alice', 1234)")
statement.executeUpdate("insert into user values ('bob', 5678)")
statement.executeUpdate("insert into user values ('charlie', 'asdf')")
rs = statement.executeQuery("select * from user")
begin
puts "user\tpass"
while rs.next
puts ["#{rs.getString(1)}",
"#{rs.getString(2)}"].join("\t")
end
ensure
rs.close
end
ensure
statement.close
end
ensure
connection.close
end
Run Code Online (Sandbox Code Playgroud)
输出:
$ rm -f test.sqlite3; ruby sql.rb
user pass
------------
alice 1234
bob 5678
charlie asdf
Run Code Online (Sandbox Code Playgroud)
安装 jdbc-sqlite3 gem
然后,在您的 jruby 脚本中:
require 'jdbc/sqlite3'
url = "jdbc:sqlite:path.to.your.db"
begin
Java::org.sqlite.JDBC #initialize the driver
connection = JavaLang::DriverManager.getConnection(url) #grab your connection
rescue => error
#handle error
end
Run Code Online (Sandbox Code Playgroud)