我是(J)Ruby的新手 - 在RoR中编写了一些小的“演示应用程序” 但是还没有真正深入到语法中。
我现在有一个用Java编写的应用程序,它带有一个XML文件, 解析它,然后使用Hibernate将其插入MySQL数据库。 我真正想做的是看看我是否可以将其移植到JRuby, - 主要是作为一种学习练习 - 但我不确定在哪里 启动。
本文档似乎提供了解析XML的好主意:
http://developer.yahoo.com/ruby/ruby-xml.html
但是从那里开始,我不确定将它放入数据库的最佳方式 是。 ActiveRecord是一个选项,如果是这样,我如何将其挂钩 一个“独立”的JRuby应用程序?或者我想我可以以某种方式整合我的 现有的Hibernate东西,对吧?
我们将非常感激地收到任何有关示例代码的建议或链接......
此致 安德鲁。
答案 0 :(得分:4)
继续进行ActiveRecord投入,这是h2嵌入式java数据库的一些入门。
我认为你需要这些宝石
jruby -S gem install active_record
jruby -S gem install active_record_jdbc_adapter
jruby -S gem install active_record_jdbch2_adapter
jruby -S gem install jdbc_h2
然后你可以使用像这样的活动记录
require 'active_record'
require 'logger'
my_logger = Logger.new(STDOUT)
my_logger.level = Logger::DEBUG
ActiveRecord::Base.logger = my_logger
ActiveRecord::Base.establish_connection(
:adapter => 'jdbch2',
:database => "my_database_file", # set to anything you want first run
:username => "my_username", # set to anything you want first run
:password => "my_secret_password" # set to anything you want first run
)
您需要插入一些表格。在ActiveRecord约定中,维护一个有序数据库架构更改的文件夹,然后将迁移器指向该文件夹。例如,创建一个“migrations”文件夹,以及名为“20090815230000_create_my_models.rb”的以下文件。确保“snake_case”文件名与CamelCase类名匹配。
class CreateMyModels < ActiveRecord::Migration
def self.up
create_table :my_models do |t|
t.string :foo
end
end
def self.down
drop_table :my_models
end
end
现在(返回主脚本),您可以将Rails迁移器指向此文件夹。 rails migrator存储所有必要的元数据以按顺序运行迁移,并在它们可用后运行新的。
ActiveRecord::Migration.verbose = true
ActiveRecord::Migrator.migrate("migrations")
创建表格后,您可以正常使用ActiveRecord
class MyModel < ActiveRecord::Base
end
现在您可以将内容插入数据库。
x=MyModel.new
x.foo="bar"
x.save!
我希望这会有所帮助。如果ActiveRecord太难以开始工作,Sequel很轻松有趣。