`
DAOException
  • 浏览: 122702 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Netbeans下使用Rails进行CRUD操作

    博客分类:
  • ruby
阅读更多

   经过几天的接触,渐渐的发现rails是真的很强大,利用rails开发一个crud操作是一件很简单的事情。怎么,你不相信?嘿嘿,马上你就会相信了哇。

   我们来想一下,开发一个CRUD操作我们需要什么呢。要建数据库对吧。好把。那么我们先新建的数据库把。因为Rails默认的使用Mysql服务器。所以我们这里使用Mysql作为我们的服务器。我们使用命令行的方式创建数据库吧。首先来看下下面的数据库创建语句

 

CREATE DATABASE `product_development` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

 

    大家看见了,我们创建了一个名为product_development的数据库,我们在这里指定了数据库的编码格式为utf8的格式(mysql数据库的默认格式是拉丁字符)。这里指定编码的目的是解决数据库操作时候的中文乱码问题。我们必须保证页面,数据库,后台都为统一的数据格式。这里我们统一了UTF8的格式。

    创建好数据库以后,我们就需要开始创建我们的Rails的工程了。我们利用的是Netbeans进行开发。Netbeans是目前市面上支持Rails最好的一款开发工具。我们只需要在Netbeans里面点击新建项目—Ruby on Rails项目。然配置相关信息。选择相关平台,选择服务器(webrick),指定连接的数据库。按照向导的指示我们就可以创建我们的第一个rails程序。

    我们在我们的工程目录下的配置(config)文件夹下可以看见一个database.yml文件(rails号称不需要使用xml进行文件配置,NND这里用了一个yml。这个莫非是xml他儿子?我看有点像啊)。我们打开这个yml文件

 

development:
  adapter: mysql
  encoding: utf8
  database: product_development
  username: root
  password: sa
  host: localhost

 

   我们可以很容易的看出来这个配置文件所描述的内容是描述数据库的配置信息的。具体内容我就不详解了,只是说下database这个选项。rails默认的会将工程和工程名_development的数据库进行连接。我们创建的工程名是product,所以默认的该工程将会和product_development数据库进行连接。

   我们的数据库和工程都建完了,下面我们要干什么呢?对哦,我们是要说CRUD操作。没有数据表怎么行呢?我们去数据库中创建表把。NO,NO,NO。不需要那么麻烦了。Rails框架提供了migration插件(暂且这么称之为把)。利用这个migration可以很方便的创建数据库表,修改数据库表。

   假设一下我们现在需要创建一个产品表吧。我们只需要在该工程下创建一个migration。在参数栏里面填入参数createpoduct点击确定。这时候我们就可以在数据库迁移(db)目录下的看见一个migrate目录。里面包含一个_createproduct.rb的文件。打开该文件,修改该文件的内容,如下面代码所示:

 

class CreateProducts < ActiveRecord::Migration
  def self.up
    create_table :products do |t|
      t.string :name
      t.text :description
      t.timestamps
    end
  end

  def self.down
    drop_table :products
  end
end

   来分析下上面的代码吧,我们主要看下self.up这个方法。这个方法创建了一个名为products的数据表。这个表当中有如下字段name vchar ; description text ; create_time ;update_time;我们这个时候使用netbeans的数据库迁移,迁移至当前版本。我们在console下打开数据库,使用desc products就可以看见已经创建该表了。

   这个时候我们突然发现少了一个字段,假设这个商品我们需要使用价格。怎么办呢?我们需要添加一个价格字段。我们还是新建一个migration。参数填写addprice。点击确定,我们可以看见一个_add_price.rb文件。修改该文件内容:

 

class AddPrice < ActiveRecord::Migration
  def self.up
    add_column :products, :price, :decimal,
      :precision => 8,
      :scale => 2,
      :default=>0
  end

  def self.down
  end
end

   使用数据库迁移,我们就很简单的向products表当中添加了一个8位数,小数点后两位的价格字段。

 

   现在数据表有了,我们该对这个表进行操作了吧。是的,就是这样的。这里我们就要用到rails一个很强大的功能了—scaffold(脚手架)。恩,我们在Netbeans当中新建一个脚手架(sacffold)吧。模式名称就填写Product(模式是和数据表对应的,看过ORM的应该对这个都比较的熟悉,不过这里要说明的是一般rails当中的数据库表名称都是复数,而模式名称为表名称的单数形式,且首字母大写),在参数栏里面填写name:string description:text price:float点击确定。我们就创建好了一个脚手架。

   到现在为止,我们已经完成了一个CRUD的大部分操作了。怎么?你还是不相信?那么请你运行你的服务器。在浏览器的地址当中输入

 

http://localhost:3000/products

 恩,看到结果了吧。ROR就是这么强大

分享到:
评论
2 楼 cnenhui 2012-07-03  
当我用migrate创建了表以后,然后再迁移数据库,为什么model里面没有该表的model、
啊?
1 楼 cnenhui 2012-07-03  
sql代码应该写在哪里呢?
似乎是脚本那里,但是不知道怎么写
在netbeans里面能不能看到数据库表,是直接在脚本里面写sql语言查询吗?

相关推荐

    windows下配置netbeans开发rails

    在Windows环境下,使用NetBeans进行Rails开发需要一系列的配置步骤,因为Rails是一个基于Ruby的Web框架,而NetBeans是一款强大的集成开发环境(IDE),支持多种编程语言,包括Ruby。以下是一些关键知识点: 1. **...

    NetBeans debug for rails

    Rails debug plugin for netbeans ide 6.0. Zip format without subfix.

    Netbeans 6.0 JRuby on Rails 演示

    Netbeans 6.0 JRuby on Rails demo

    Netbeans 6.0 JRuby on Rails 演示 .swf

    Netbeans 6.0 JRuby on Rails 演示 .swf

    NetBeans 教程(如何使用NetBeans)

    - 视频教程:利用提供的视频教程,你可以更直观地了解NetBeans的各个功能,学习如何高效地使用它进行开发。 - 官方文档:NetBeans的官方文档详尽且更新及时,是学习和解决问题的好去处。 - 社区论坛:参与...

    NetBeans+IDE+使用说明和示例教程.pdf

    通过这些详细的步骤和示例教程,读者可以更好地理解如何使用NetBeans IDE来进行Java项目的开发。无论是创建简单的命令行程序还是复杂的图形界面应用,NetBeans IDE都能提供强大的支持。此外,了解如何使用特定的教育...

    NetBeans下jboss seam开发入门

    在`persistence.xml`中配置数据源和实体类,然后在Seam组件中通过`@In`注解注入EntityManager,进行CRUD操作。 7. **EJB集成**: Seam同样支持EJB,可以在Seam组件中声明并使用EJB服务。通过`@EJB`注解,可以直接...

    HIBERNATE FOR NETBEANS 数据操作方法

    下面将详细介绍如何在NetBeans中配置Hibernate以及使用它进行数据操作。 1. **安装Hibernate插件** - 首先,确保你已经安装了NetBeans IDE的最新版本。在这个例子中,我们提及的是NetBeans 5.x,但请确保你使用的...

    netbeans下安装hibernate

    2. 编写持久化代码:使用SessionFactory、Session和Transaction对象进行数据的增删改查操作。 3. 利用NetBeans的代码补全和调试功能,优化和测试你的Hibernate代码。 六、更新和维护 "sf-netbeans-nbxdoclet-update...

    Ubuntu配置Netbeans8.2

    * 在 Ubuntu 操作系统上安装和配置 Netbeans 8.2 需要进行一些基本的配置步骤。 * 需要安装 Java 8,以便 Netbeans 正常工作。 * 需要配置环境变量,以便 Netbeans 可以在命令行中使用。 * Netbeans 可以用于创建...

    NetBeans下JSF增删改查

    在本示例中,我们将在NetBeans 6.0环境中利用JSF进行开发,实现对数据库的数据操作,包括**增(Create)、删(Delete)、改(Update)和查(Read)**,即常说的CRUD操作。 NetBeans是一个强大的集成开发环境(IDE)...

    Netbeans如何使用JUnit

    本篇文章将详细讲解如何在NetBeans中使用JUnit进行测试。 首先,确保你已经安装了支持JUnit的NetBeans版本。NetBeans通常会自带JUnit库,但如果你的版本较旧或没有包含JUnit,可以通过以下步骤添加: 1. 打开...

    NetBeans使用教程入门篇

    ### NetBeans使用教程入门篇知识点详解 #### 一、NetBeans简介及安装 - **NetBeans概述**:NetBeans是一款开源且免费的集成开发环境(IDE),由Oracle公司支持(原Sun Microsystems)。它支持多种编程语言,包括...

    基于JPA的CRUD例子

    在这个“基于JPA的CRUD例子”中,我们将深入探讨如何使用JPA进行创建(Create)、读取(Read)、更新(Update)和删除(Delete)等基本数据库操作。 首先,我们需要理解JPA的核心概念:实体(Entity)。在JPA中,...

    NetBeans IDE 中国教育考试版 (2007) 使用说明和示例教程

    NetBeans IDE 中国教育考试版 (2007) 使用说明和示例教程 本资源为 NetBeans IDE 中国教育考试版 (2007) 的使用说明和示例教程,旨在帮助用户快速掌握 NetBeans IDE 的使用方法和基本概念。 一、准备 在开始使用 ...

    JPA+Netbeans6直接操作数据库

    3. **使用EntityManager**:JPA的核心接口,通过EntityManager我们可以执行CRUD(Create, Read, Update, Delete)操作。例如,使用`entityManager.persist(entity)`来保存新对象,`entityManager.find(Entity.class,...

    在实际开发中教您NetBeans的使用图解

    根据题目中的描述,我们将重点介绍如何使用NetBeans进行项目创建和管理的基本流程。 ##### 2.1 创建新项目 1. **启动NetBeans**:首先确保已经安装了最新版本的NetBeans IDE。 2. **选择语言和项目类型**:在启动...

    Netbeans环境下使用GTK+.

    NetBeans作为一款强大的集成开发环境(IDE),支持多种编程语言和框架,包括C和C++,因此在NetBeans中使用GTK+进行开发是完全可行的。下面我们将详细探讨如何在NetBeans环境下配置和使用GTK+。 首先,确保你已经在...

Global site tag (gtag.js) - Google Analytics