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