`
jbf034
  • 浏览: 152352 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

CRUD—Create

 
阅读更多
在对象-关系的范式中,表被表现为类,并且表内的行被对应于那个类的对象。因此我们
通过创建相应类的对象来创建表中的行,是顺理成章的事。
1、我们可以通过调用Order.new()
来创建一个对象,表示orders 表中的行。然后我们可以填充各种属性的值(对应表的各个列)。
最后,我们调用对象的save()方法存储回order 到数据库中。没有这个方法调用的话,order
只会存在于本机的内存中。
an_order = Order.new
an_order.name = "Dave Thomas"
an_order.email = "dave@pragprog.com"
an_order.address = "123 Main St"
an_order.pay_type = "check"
an_order.save

2、Active Record 的构造函数可以有一个可选的块参数。如果出现的话,这个块会将新创
建的order 作为自己的一个参数被调用。这种用法很有好处,如果你想创建并保存一个order,
又不想创建一个临时变量时,就会用到。
Order.new do |o|
o.name = "Dave Thomas"
# . . .
o.save
end

3、最后,Active Record 还有一种形式的构造函数,它接受一个属性值的哈希表做为一个
可选参数。这个哈希表内每个条目都对应属性集中的每个名字和值。在本书稍后我们会看到,
这种用法在把HTML 表格中的值存储到数据库行中时非常有用的。
an_order = Order.new(
:name => "Dave Thomas",
:email => "dave@pragprog.com",
:address => "123 Main St",
:pay_type => "check")
an_order.save
注意上面的所有代码中,我们都没有对新行设置id 这个属性值。因为我们使用Active
Record 默认的integer 列作为主键。Active Record 自动创建一个唯一值,并且只在存储该
行之前设置id 属性。我们可以通过查询这个属性来看看它的值:
an_order = Order.new
an_order.name = "Dave Thomas"
# ...
an_order.save
puts "The ID of this order is #{an_order.id}"

4、new()构造函数是在内存中创建一个新的Order 对象。我们必须记得在某个时间点上要存
储它。Active Record 还有一个方便的方法create()。它是既实例化model 对象又把它存储到数据库中。
an_order = Order.create(
:name => "Dave Thomas",
:email => "dave@pragprog.com",
:address => "123 Main St",
:pay_type => "check")

你还可以给create()传递一个属性哈希表数组;它将在数据库中创建多行记录并返回一
个对应的model 对象数组。
orders = Order.create(
[ { :name => "Dave Thomas",
:email => "dave@pragprog.com",
:address => "123 Main St",
:pay_type => "check"
},
{ :name => "Andy Hunt",
:email => "andy@pragprog.com",
:address => "
456 Gentle Drive
",
:pay_type => "po"
} ] )
new()和create()接受一个值的哈希表的真正原因就是你可以从表格参数中直接构造
model 对象。
order = Order.create(params)
分享到:
评论

相关推荐

    vue-dynamic-crud:支持灵活配置,快速搭建CRUD前端界面,彻底摆脱拧螺丝:nut_and_bolt:

    vue-dynamic-crud支持灵活...[环境变量]eg: npm run dev-devnpm run mock // mock模式构建生产环境npm run build-[环境变量]eg: npm run build-dev命令行生成cd ./bin:bin $ node ./crud create [模块路径] [模块名]

    CRUD CRUD CRUD

    CRUD,全称为Create(创建)、Read(读取)、Update(更新)和Delete(删除),是数据库操作的基础,也是理解任何数据驱动应用的核心概念。在IT行业中,CRUD操作广泛应用于各种应用程序,从简单的数据库管理工具到...

    用Struts实现Table的CRUD(create、read、update、delete)

    在这个项目中,我们专注于使用Struts2来实现一个数据表的CRUD操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)。 首先,我们需要配置Struts2的核心框架。在`struts.xml`配置文件中,定义...

    jsp 实现的CRUD

    在Web开发中,CRUD(Create, Read, Update, Delete)是最基本的数据操作,广泛应用于各种业务系统。本项目以JSP(JavaServer Pages)技术为核心,实现了对MySQL数据库的CRUD操作,旨在提供一个完整的、可直接运行的...

    CRUD项目核心框架

    CRUD,全称为Create(创建)、Read(读取)、Update(更新)和Delete(删除),是数据库操作的基础,也是软件开发中的核心概念。在IT行业中,CRUD项目通常指的是一个以处理这些基本数据操作为主的系统或应用。在这个...

    SimpleThinkPHP_CRUD_Demo

    在IT领域,CRUD(Create, Read, Update, Delete)是数据库操作的基础,它代表了创建、读取、更新和删除数据的基本功能。SimpleThinkPHP_CRUD_Demo是一个以ThinkPHP框架为基础,实现CRUD操作的示例项目,对于初学者...

    Crud订单表操作

    在IT行业中,CRUD(Create, Read, Update, Delete)是数据库操作的四个基本功能,分别代表创建、读取、更新和删除数据。本压缩包文件"Crud订单表操作"显然是针对订单表进行CRUD操作的一个示例或教程,可能包含相关的...

    标签和CRUD.rar

    CRUD是创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)的首字母缩写,它代表了数据库操作的基本动作。在Java Web开发中,特别是使用开源框架时,这些操作是构建应用程序的核心。 描述中提到的...

    对play!的CRUD的一次改造

    的CRUD 进行改造,改代码还会持续重构,并不完善。 1.将create,show,delete,list都改成@Util方法,可以类似 public static void show(String id){ MyCRUD.show(id); } 的方式调用。更通用。 2.增加@...

    SQLite CRUD

    在本文中,我们将深入探讨SQLite中的CRUD(创建Create、读取Read、更新Update、删除Delete)操作,特别是在处理多个表时的应用。 创建(Create): 在SQLite中,创建新表涉及编写SQL的CREATE TABLE语句。例如,如果...

    javaweb简单的CRUD

    "CRUD"是创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)这四个数据库操作的首字母缩写,是任何数据管理系统的基石。在这个JavaWeb简单CRUD的应用中,我们将探讨如何使用Java、Servlet、JSP和MySQL数据库...

    Dancer-Plugin-SimpleCRUD:基​​于数据库表的快速轻松CRUD(createreadupdatedelete)操作

    CRUD是创建(Create)、读取(Read)、更新(Update)和删除(Delete)这四个基本数据库操作的缩写,是任何数据管理应用的核心功能。这个插件的目的是为了加速开发过程,让开发者能够更快速地实现这些常见的数据库...

    easyUI的crud实现

    它的CRUD(Create、Read、Update、Delete)实现是指使用EasyUI来完成数据的创建、读取、更新和删除功能,这些是任何数据管理应用的基础操作。在这里,我们将深入探讨如何使用EasyUI和Java来实现这一目标。 首先,让...

    struts_crud

    CRUD,即Create(创建)、Read(读取)、Update(更新)和Delete(删除),是数据库操作的基本功能,也是任何数据管理应用的核心部分。在Struts框架中实现CRUD操作,可以让我们更高效地开发Web应用。 Struts的CRUD...

    SimpleCRUD_beginners_crud_

    在IT领域,"CRUD"是创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)四个英文单词的首字母缩写,这是数据库操作的基础。本教程主要面向初学者,将详细介绍如何在Java环境中进行基本的CRUD操作。 **1. ...

    JSF实现的CRUD例子 myeclipse

    在这个"JSF实现的CRUD例子 myeclipse"中,我们将探讨如何使用JSF和MyEclipse开发一个简单的CRUD(Create, Read, Update, Delete)应用,而无需连接到数据库。 首先,"first-java-server-faces-tutorial-en.pdf"可能...

    Laravel开发-crud-generator

    Laravel CRUD Generator能够帮助开发者快速创建CRUD(Create, Read, Update, Delete)操作,极大地提高了开发效率,降低了重复劳动。 Laravel是一个基于PHP的优雅且强大的Web应用开发框架,它的核心理念是"简洁、...

    原生servlet_CRUD

    原生Servlet CRUD是Java Web开发中的基础操作,主要用于创建、读取、更新和删除(Create, Read, Update, Delete)数据。在这个项目中,开发者直接使用了Servlet API进行实践,而不是依赖任何高级框架如Spring MVC。...

    Laravel开发-laravel-crud-generator

    "laravel-crud-generator"是Laravel生态系统中的一个工具,用于自动化CRUD(Create, Read, Update, Delete)操作的生成,极大地提高了开发效率。在本篇文章中,我们将深入探讨Laravel开发以及laravel-crud-generator...

Global site tag (gtag.js) - Google Analytics