这将告诉 ActiveRecord 查找满足条件的所有记录。ActiveRecord 有一组强大的功能,可以帮助您缩小查找对象的范围。
使用 ActiveRecord 将数据插入 Derby
如果需要插入一个新雇员怎么办呢?没问题。ActiveRecord 同样使您可以轻松完成操作!创建 Employee 类的一个新实例,将属性设为所需的值,并保存它,如清单 11 所示。
清单11:插入新雇员
newEmp = Employee.new
newEmp.id = 12
newEmp.name = "David Duke"
newEmp.title = "Human Resources Manager"
newEmp.office = "6 East"
newEmp.save
用 ActiveRecord 更新和删除数据
在 JDBC 中,更新和删除与插入类似,与之不同的是,对于不同的操作,ActiveRecord 有不同的语法。当需要更新数据时,有几种方法可供您选择。首先是要使用 save 方法,就像插入数据时所做的操作一样。它有插入或更新的逻辑(如有需要),还有只更新做出更改的字段的逻辑。除了 save 方法之外,ActiveRecord 还提供了 update 和 update_all 方法。update 方法使您可以更新对象而无需检索该对象。特别是,可以只更新您关注的属性而无需检索对象。这类似于通过 JDBC 执行 update 语句,其中 where 子句用于指定要更新的行 ID。update_all 方法允许您对一系列对象执行更新,而不只是对一个对象执行更新,如清单 12 所示。
清单12:对一系列对象执行更新
Employee.update(12, :office => "7 East")
Employee.update_all("title = 'Vice President'", "title like 'Director%'")
第一行用于更新 ID 为 12 的雇员,使其拥有一间新的办公室。第二行用于将职位为主管的人更改副总裁。正如您所见,update 方法要求使用对象的 ID,这将强制它只更新一行。