仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 619|回复: 11
打印 上一主题 下一主题

[学习教程] 了解下JAVA的Ruby on rails开辟重新来(四十二)- ActiveRecord基本(主键和ID)

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:03:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。
大概你已注重到了,在我们后面的代码中,数据库界说里都利用了一个integer型的字段id作为主键,这是ActiveRecord的一个商定。
也许你要问,为何不必定单编号大概某个成心义的列来作为主键呢?利用id作为主键有一个很主要的缘故原由,就是假如利用具有内涵格局的主键的话,跟着工夫推移,有大概个中的划定规矩也会变更。比方,利用ISBN号码来给book表做主键,究竟ISBN号码是独一的,可是,有大概当一本誊写完后,美国的出书业已开展了而且在一切的ISBN号码后又附加了一名数字。
假如我们利用了ISBN作为book表的主键,我们就要更新一切book表的纪录来反应这个变更,并且另有一个成绩,另有其他表援用了book表的主键,我们就要更新一切的援用,这还扳连到要删除外键,一切的这统统都长短常疾苦的。
假如利用成心义的值作为主键,那末我们将收到外界营业划定规矩的影响,假如利用id,我们能够本人完整把持,并且假如象ISBN等一些工具改动的话,将不会影响到数据库布局。
假如你从一个新的数据库布局入手下手,大概会遵守商定,给一切的表都利用id作为主键,可是,当你利用的是一个既存的数据库入手下手的时分,ActiveRecord供应了复杂的办法来让你从头给表指定主键,比方:
  1. classBadBook<ActiveRecord::Base
  2. set_primary_key"isbn"
  3. end
复制代码
一般,ActiveRecord会注重给新创立的纪录天生主键值-利用自增加的整数。不论如何,当你override表的主键名字的时分,你就必要本人卖力给新建纪录一个独一的主键值。大概有些让人惊奇,你仍是设置一个id的属性来完成这件事,由于ActiveRecord所体贴的是,主键的设置永久都利用名为id属性,set_primary_key的声明只是设置了利用的列名,上面的例子,我们利用ISBN作为主键。
  1. book=BadBook.new
  2. book.id="0-12345-6789"
  3. book.title="MyGreatAmericanNovel"
  4. book.save
  5. #...
  6. book=BadBook.find("0-12345-6789")
  7. putsbook.title#=>"MyGreatAmericanNovel"
  8. pbook.attributes#=>{"isbn"=>"0-12345-6789",
  9. "title"=>"MyGreatAmericanNovel"}
复制代码
也就是说,在设置主键的时分,利用id属性,其他时分,利用实在的列名。

有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-19 23:39:06 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-25 08:43:32 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
莫相离 该用户已被删除
地板
发表于 2015-1-25 14:36:29 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
山那边是海 该用户已被删除
5#
发表于 2015-1-26 23:55:31 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
若天明 该用户已被删除
6#
发表于 2015-1-27 13:29:31 来自手机 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
7#
发表于 2015-2-5 05:22:21 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
老尸 该用户已被删除
8#
发表于 2015-2-11 05:06:51 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
变相怪杰 该用户已被删除
9#
发表于 2015-3-1 21:35:26 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
分手快乐 该用户已被删除
10#
发表于 2015-3-10 23:52:40 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
飘灵儿 该用户已被删除
11#
发表于 2015-3-17 16:10:26 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
活着的死人 该用户已被删除
12#
发表于 2015-3-24 11:26:39 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 09:02

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表