mysql-在(J)Ruby中解析XML并插入数据库

我对(J)Ruby还是很陌生-在RoR中编写了一些小小的“演示应用程序”但实际上并没有真正了解语法.我目前有一个用Java编写的应用程序,该应用程序需要一个XML文件,进行解析,然后使用Hibernate将其插入MySQL数据库.我真正...

我对(J)Ruby还是很陌生-在RoR中编写了一些小小的“演示应用程序”
但实际上并没有真正了解语法.

我目前有一个用Java编写的应用程序,该应用程序需要一个XML文件,
进行解析,然后使用Hibernate将其插入MySQL数据库.
我真正想做的是看看是否可以将此移植到JRuby,-
主要是作为学习练习-但我不确定在哪里
开始.

该文档似乎对解析XML提供了一个好主意:

http://developer.yahoo.com/ruby/ruby-xml.html

但是从那里,我不确定将其放入数据库的最佳方法
是.是否可以选择ActiveRecord,如果可以的话,如何将其挂接到
一个“独立的” JRuby应用程序?或者我想我可以以某种方式整合我的
现有的Hibernate东西吧?

任何建议或示例代码的链接将不胜感激…

问候,
安德鲁.

解决方法:

继续学习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迁移器存储所有必要的元数据,以便按顺序运行迁移,并在新迁移可用时运行它们.

ActiveRecord::Migration.verbose = true
ActiveRecord::Migrator.migrate("migrations")

创建表后,您可以正常使用ActiveRecord

class MyModel < ActiveRecord::Base
end

现在您可以将内容插入数据库.

x=MyModel.new
x.foo="bar"
x.save!

我希望这有帮助.如果ActiveRecord上班不方便,那么Sequel既轻松又有趣.

本文标题为:mysql-在(J)Ruby中解析XML并插入数据库