我是Ruby on rails的新手,我最近创建了一个连接到sqlite3数据库的小型会计应用程序。
目前,我仍处于开发阶段,我可以使用控制器端的activerecord命令保存新数据或更新数据库中的现有记录。
但我的问题是关于JDBC与JRuby:
我也是java的新手,根据我的理解,JRuby完全由Java代码构成,并且正在JVM上运行。并且如果用C语言写的那些宝石将无效。
如果我开始使用JRuby代替MRI,那会有什么区别?我是否仍在使用活动记录命令来操纵数据库中的记录?
如果我使用JRuby并创建一个新的应用程序,那么JDBC适配器是否与sqlite3之类的现有gem完全相同,可以将应用程序连接到数据库?
或者我只需要编写JDBC适配器而不是控制器?
我对它如何工作有点困惑,一些信息将不胜感激。提前谢谢你!
修改
我的意思是,目前我的应用程序正在使用Ruby on Rails,我在控制器中使用命令,例如当您更新现有记录时:
@variable = [Table_name].find(:id)
然后
@variable.update_attributes(params[:submit])
此命令将使用RoR更新记录,但如果在JRuby中使用Rails,这将如何工作?它的语法是一样的吗?
答案 0 :(得分:1)
JDBC是连接数据库的Java API和驱动程序。
Rails使用ActiveRecord作为应用程序和数据库之间的ORM层。
然后,ActiveRecord将使用指定的驱动程序生成SQL语句和迁移。
从您提到的@variable = [Table_name].find(:id)
差异将出现在日志中生成的SQL语句和生成的迁移中,以适应指定的数据库驱动程序。