首 页新闻文章中心下载中心客户留言
您当前的位置:古朴下载网文章中心程序设计java程序设计Java数据库 → 文章内容 退出登录 用户管理
本类热门文章
相关下载
关于在JRuby中构建Apache Derby数据库应用程序的两种方法(十四)
作者:本站  来源:本站原创  发布时间:2008-3-7 10:50:47

减小字体 增大字体

清单10:从数据库中提取所有雇员

class Employee < ActiveRecord::Base
end
      
emps = Employee.find(:all)
emps.each do |emp|
puts emp.name
end

  如果现在运行脚本,将获得一张所有雇员的清单,如下所示:

  Fred Smith

  John Doe

  Jane Jones

  Sam Smiles

  Julie Morgan

  Wilma Fonda

  Danielle Jamison

  Michele Cannon

  Lance Hanniford

  Eliot Rinaggio

  James Cotton

  刚刚发生了什么事?让我们来看一看添加的代码:

  ◆前两行声明了一个名为 Employee 的类,该类是从 ActiveRecord::Base 扩展而来。

  ◆find 方法是 ActiveRecord::Base 附带的一种方法并且为您提供一种灵活搜索所需雇员的方法。它将返回一个匹配指定条件的雇员数组 —— 在本例中为所有雇员。

  ◆each 方法是 Ruby 实现迭代器范式的方法。正如您在阅读时所期望的,对于返回的每个雇员,其名称都被输出到控制台。

  ActiveRecord 如何知道要连接到哪张表,或者如何知道有一个关于雇员的名称字段?这是 ActiveRecord 魔术的一部分。它使用逻辑默认值来猜测哪一张是数据库表。由于将类命名为了 Employee,因此 ActiveRecord 将默认查找名为 employees 的表。同样地,它将使用某种形式的反射来获得列名并使用这些列名作为对象的属性,除非您告诉它不这样做。

  要查看 ActiveRecord 能够实现的更多功能,通过将条件添加到 find 方法中,使用本教程中较早时候提到的 PreparedStatement 语句,来添加要使用的限制,以便只返回姓名开头为 J 的雇员。要执行此操作,请将 Employee.find 行更改为 emps = Employee.find(:all, :conditions => "name like 'J%'")。

[] [返回上一页] [打 印]
文章评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登陆
友情连接及广告业务QQ:104261325(请注明来意)本网站日IP超五千,欢迎各位做广告及进行连接