需要访问Java中JRuby on Rails应用程序的Heroku Postgres DB
我需要在我的JRuby on Rails应用程序中访问Java中的Postgres DB。这是允许的吗。有人做过吗 那么,我可以通过jdbc与数据库建立一个单例连接并操作postgres数据库吗 如果是这样的话,请你给我指一些可能对我有帮助的资源/例子需要访问Java中JRuby on Rails应用程序的Heroku Postgres DB,java,postgresql,heroku,jruby,jrubyonrails,Java,Postgresql,Heroku,Jruby,Jrubyonrails,我需要在我的JRuby on Rails应用程序中访问Java中的Postgres DB。这是允许的吗。有人做过吗 那么,我可以通过jdbc与数据库建立一个单例连接并操作postgres数据库吗 如果是这样的话,请你给我指一些可能对我有帮助的资源/例子 我必须构建一个功能,其中Postgres DB记录需要使用Java API进行操作。是的,您可以使用Ruby中的Java API进行操作。很难给出确切的答案,因为我不知道你想做什么。但下面是一个创建连接并在伪JRuby中操纵数据库的方法示例 re
我必须构建一个功能,其中Postgres DB记录需要使用Java API进行操作。是的,您可以使用Ruby中的Java API进行操作。很难给出确切的答案,因为我不知道你想做什么。但下面是一个创建连接并在伪JRuby中操纵数据库的方法示例
require 'java'
java_import java.net.URI
java_import java.sql.DriverManager
def do_database
connection = get_connection
stmt = connection.createStatement
stmt.executeUpdate("CREATE TABLE IF NOT EXISTS ticks (tick timestamp)")
stmt.executeUpdate("INSERT INTO ticks VALUES (now())")
rs = stmt.executeQuery("SELECT tick FROM ticks")
rs.next
begin
puts "Read from DB: " + rs.getTimestamp("tick")
end while rs.next
ensure
connection.close if connection != nil
end
def get_connection
dbUri = ENV["DATABASE_URL"]
username = dbUri.getUserInfo.split(":")[0]
password = dbUri.getUserInfo.split(":")[1]
port = dbUri.getPort
dbUrl = "jdbc:postgresql://#{dbUri.getHost}:#{port}#{dbUri.getPath}"
DriverManager.getConnection(dbUrl, username, password)
end
谢谢你的手指代码。我决定创建一个单独的API服务器,并在rails应用程序中调用这些API。它是模块化的,我真的不喜欢把api代码放在我的控制器中。