我对(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并插入数据库
- Golang http.Client设置超时 2023-09-05
- 汇编语言程序设计之根据输入改变屏幕颜色的代码 2023-07-06
- Ruby on Rails在Ping ++ 平台实现支付 2023-07-22
- R语言绘图数据可视化pie chart饼图 2022-12-10
- Ruby 迭代器知识汇总 2023-07-23
- R语言关于二项分布知识点总结 2022-11-30
- Ruby的字符串与数组求最大值的相关问题讨论 2023-07-22
- Go Web开发进阶实战(gin框架) 2023-09-06
- R语言-如何切换科学计数法和更换小数点位数 2022-11-23
- Swift超详细讲解指针 2023-07-08