在Ruby中,主要的数据库连接方式包括使用Ruby自带的DBI库、使用第三方库mysql2、使用第三方库pg等。其中,使用mysql2连接MySQL数据库的方法如下:
require 'mysql2'
client = Mysql2::Client.new(
:host => "localhost",
:username => "root",
:password => "password",
:database => "database_name"
)
而使用pg连接PostgreSQL数据库的方法如下:
require 'pg'
conn = PG.connect(
:dbname => 'database_name',
:user => 'username',
:password => 'password',
:host => 'localhost',
:port => 5432
)
此外,Ruby中常用的ORM框架包括使用Active Record、DataMapper、Sequel等。其中,Active Record是Rails框架中自带的ORM框架,它提供了一种面向对象的方式来操作数据库,可以使用类似于SQL的语句来查询、插入、更新、删除数据等。例如,使用Active Record查询一个User表中的所有记录可以这样写:
class User < ActiveRecord::Base
end
users = User.all
DataMapper是另一个流行的ORM框架,它提供了一种灵活的映射方式,可以将Ruby对象和数据库表之间的映射关系进行自由定制。例如,使用DataMapper查询一个User表中的所有记录可以这样写:
require 'data_mapper'
DataMapper::setup(:default, "sqlite3://#{Dir.pwd}/development.db")
class User
include DataMapper::Resource
property :id, Serial
property :name, String
property :email, String
end
DataMapper.finalize
users = User.all
Sequel是另一个常用的ORM框架,它提供了一种功能强大的查询语言和一系列易于使用的插件。例如,使用Sequel查询一个User表中的所有记录可以这样写:
require 'sequel'
DB = Sequel.connect('sqlite://my.db')
class User < Sequel::Model
end
users = User.all
总之,Ruby中的数据库连接和ORM框架非常丰富,可以根据不同的需求选择合适的库和框架。