仓酷云

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

[学习教程] JAVA网站制作之实战J2EE―开辟购物网站(四)

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

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

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

x
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。j2eeGOON持续进阶!!(本贴团体以为对初学者很有匡助,请人人仔细看。因工夫仓皇,若有毛病请斧正)SQL*PLUS基本
在上一贴中,我们把握了些基础的oracle操纵,如创立、受权用户,创立数据库等。在OEM(OracleEnterpriseManager)可视化的窗口情况中,固然我们也能够很便利地做这些事,可是现实上,用SQL言语誊写在开辟上更无效率!!oracle供应的SQL*Plus就是个不错的工具,假如人人喜好窗口的开辟情况,用SQLPlusWorksheet也行!上面说点基础的西西!
SQL(StructureQueryLanguage)言语是布局化查询言语,是数据库的中心言语,是面向汇合的形貌性非历程化言语。
SQL言语共分为四年夜类:数据查询言语DQL,数据利用言语DML,数据界说言语DDL,数据库把持言语DCL。
1.数据查询言语DQL的基础布局是由select子句,from子句,where子句构成的查询块:
select<字段名表>from<表或视图名>where<查询前提>
2.数据利用言语DML完成在数据库中断定、修正、增加、删除某一数据值的义务(以下是部分经常使用DML语句):
insert增添数据行到表
delete从表中删除数据行
Update变动表中数据
3.数据界说言语DDL完成界说数据库的布局,包含数据库自己、数据表、目次、视图等数据库元素(以下是部分经常使用DDL语句)
createtable创立表
createindex创立索引
createview创立视图
altertable增添表列,重界说表列,变动存储分派
droptable删除表
dropindex删除索引
4.数据库把持言语DCL用来授与或接纳会见数据库的某种特权,并把持数据库利用事件产生的工夫及效果,对数据库实施监督等。如:
grant将权限或脚色授与用户或别的脚色
revoke接纳用户权限
roll回滚,是当某个对话变动了数据库中的数据后,因为某种缘故原由用户不想提交此变动时,oracle所接纳的回护操纵。这是一个把信息恢复到用户使update、insert、delete前最初提交的形态。
commit提交。在完成数据库的拔出,删除和修正操纵时,只要当事件提交到数据库才算完成,有提交前只要操纵数据库的自己才干看到,他人只要在最初提交完成才能够看到。
接上去,我们在SQL*Plus中实战一下,为我们上面将要做的打好基本。
用system上岸到SQL*Plus后,我们做以下操纵(此次没有截图,有具体的申明)
SQL>createusermaxuanidentifiedbymax;#创立口令为max的用户maxuan
SQL>grantconnect,resourcetomaxuan;#为用户maxuan受权
SQL>connmaxuan/max;#以用户maxuan举行毗连
L>createtabletest(anumber);#创建一个名为test的表,只要字段名为A的一列,数据范例为数字
SQL>insertintotestvalues(1);#拔出一笔记录
SQL>select*fromtest;#查询纪录,此时A列的第一举动1
SQL>updatetestseta=2;#变动纪录,此时A列的第一行已改成2
SQL>commit;#提交
SQL>deletefromtest;#删除test表中一切的纪录,此时test表中没有纪录
SQL>roll;#回滚到提交前,此时再查询test表,A列第一行值又复兴到2
oracle的数据范例

在数据库中创立数据表的时分,我们必要界说表中一切字段的范例,数据范例大抵分为:character,numberic,date,lob和raw等,这些是最基础的数据范例。固然在oracle中也同意自界说数据范例!
在oracle中供应的character数据范例:
char(<size>):流动长度字符串,最年夜长度为2000字节,假如不指定长充,缺省为1个字节长。
varchar2(<size>):可变长度的字符串,最年夜长度为4000字节,详细界说时指明最年夜长度,这咱范例能够放数字、字母和ASCII码字符集(大概EBCDIC等数据库体系承受的字符集尺度)中的一切标记。假如数据长度没有到达最年夜值,oracle会依据数据巨细主动调治字段长度。是最长用的数据范例。
nchar(<size>):依据字符集而定的流动长度字符串,最年夜长度2000字节。
nvarchar2(<size>):依据字符集而定的可变长度字符串,最年夜长度4000字节。
long:可变长字符列,最年夜长度限定为2GB,用于不必要作字符串搜刮的长串数据。此范例是一个遗留上去的并且未来不会被撑持的数据范例,渐渐被BLOB,CLOB,NCLOB等年夜的数据范例所代替。
numberic数据范例用来存储负的和正的整数,分数和浮点型数据,在oracle中供应的numberic数据范例:
number(<m>,<n>):可变长的数值列,同意0、正值及负值,m是一切的无效数字的位数,n是小数点今后的位数。
在oracle中供应的date数据范例:
date:缺省格局是dd-mon-yy(日-月-年)
在oracle中供应的lob数据范例:
blob、clob、nclob:三种年夜型对象(lob),用来保留较年夜的图形文件或带格局的文本文件,如word文档,和音频、视频等非文本文件,最年夜长充是4GB。晕些数据存储在数据库外部保留。
bfile:在数据库内部保留的年夜型二进制对象文件,最年夜长度是4GB,这类内部的LOB范例,经由过程数据库纪录变更情形,可是数据的详细保留是在数据库内部举行的。
在oracle中供应的raw数据范例:
raw(<size>):可变长二进制数据,详细界说字段时必需指明最年夜长度,这类格局用来保留较小的图形文件或带格局的文本文件,它也是一种较老的数据范例,将被lob数据范例所代替。
longraw:可变长二进制数据,最年夜长度是2GB,能够用来保留较年夜的图形或带格局的文本文件,和音频、视频等非文本文件,这也是一种较老的数据范例,将被lob数据范例所代替。
别的的数据范例:
rowid:这是oracle数据表中的一个伪例,它是数据表中每行数据内涵的独一标识
integer:整数范例
创立购物网站背景数据库
如今我们回到用J2EE系统开辟购物网站的主题,入手下手实战建购物网站的背景数据库。
为了完成购物网站的基础的功效,我们必要创建四个表:商品列表(products)、商品范例表(item)、定单列表(orders)和办理员列表(admin)。表布局以下所示:
item表布局(商品范例表)
字段称号数据范例同意空主键/外键备注
type_idINTEGER(主动编号)否主键商品种别ID标志
typevarchar2(30)否商品种别称号
product表布局(商品列表)
字段称号数据范例同意空主键/外键备注
product_idINTEGER(主动编号)否主键商品ID标志
titlevarchar2(30)否商品称号
type_idINTEGER否外键商品种别标志
infovarchar2(80)是商品简介
pricenumber(16,2)否商品代价
orders表布局(定单列表)
字段称号数据范例同意空主键/外键备注
order_idINTEGER(主动编号)否主键定单ID标志
namevarchar2(20)否主顾姓名
addressvarchar2(100)是发货地点
telnumber(16)是接洽德律风
emailvarchar2(30)否接洽email
btimedate是订购日期
product_idINTEGER否外键商品标志
uwordvarchar2(100)是主顾留言
admin表布局(办理员列表)
字段称号数据范例同意空主键/外键备注
admin_idINTEGER(主动编号)否主键办理员ID标志
adminnamevarchar2(20)否办理员称号
passwordvarchar2(20)否办理员暗码
计划完表布局后,我们就要入手下手创立了。
创立表我想已不是甚么难事了,那末我们要注重的是product、item、orders这三个表之间的联系关系,另有主动编号。
上面是完全的SQL语句,在前面我会给出具体的申明,你能够在SQL*Plus里对比着输出,也能够将它存为SQL剧本文件,在SQL*Plus或SQLPlusWorksheet里实行。固然也能够把代码间接拷贝到SQL*Plus里实行!
  1. rem///BYMAXUAN入手下手///createtableitem(type_idintegernotnull,typevarchar2(30),constraintitem_pkprimarykey(type_id));createtableproduct(product_idintegernotnull,titlevarchar2(30)notnull,type_idintegernotnull,infovarchar2(80),pricenumber(16,2)notnull,constraintproduct_pkprimarykey(product_id),constraintproduct_fkforeignkey(type_id)referencesitem(type_id));createtableorders(order_idintegernotnull,namevarchar2(20)notnull,addressvarchar2(100),telnumber(16),emailvarchar2(30)notnull,btimedate,product_idintegernotnull,uwordvarchar2(100),constraintorders_pkprimarykey(order_id),constraintorders_fkforeignkey(product_id)referencesproduct(product_id));createtableadmin(admin_idintegernotnull,adminnamevarchar2(20)notnull,passwordvarchar2(20)notnull,constraintadmin_pkprimarykey(admin_id));createsequencetype_idincrementby1startwith1;createsequenceproduct_idincrementby1startwith1;createsequenceorder_idincrementby1startwith1;createsequenceadmin_idincrementby1startwith1;rem///BYMAXUAN停止///
复制代码
申明一:创建表之间的联系关系
  product、item、orders三个表经由过程大众域,一般称为键域(KeyField)举行联系关系,存在两品种型的键:主键(Primarykey)和内部键(Foreignkey)。主键使表中的数据行坚持独一,在表product中,product_id为主键,表orders中也包括有product_id,此时的product_id就是内部键。一个表的内部键从别的表中猎取信息。看看下面的SQL语句,应当会了吧!
申明二:关于主动编号
  在access中有主动编号的数据范例,MSSQL和MYSQL也都有主动增加的数据范例,拔出纪录时不必操纵此字段,会主动取得数据值,而oracle没有主动增加的数据范例,我们必要创建一个主动增加的序列号,拔出纪录时要把序列号的下一个值赋于此字段,能够预感的是,有此功效,我们能够把数据从ACCESS、MSSQL或MYSQL迁徙到oracle了!
createsequencetype_idincrementby1startwith1;
这句中,type_id为序列号的称号,每次增加为1,肇端序号为1。
  好了,我们的数据库已建好了,并且从中也懂得到一些基础的相干常识,关于自己的用J2EE开辟购物网站之二oracle篇到此停止,若有甚么疑问请留言!!


由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-22 23:58:10 | 只看该作者
是一种使用者不需花费很多时间学习的语言
莫相离 该用户已被删除
板凳
发表于 2015-1-29 06:27:40 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
变相怪杰 该用户已被删除
地板
发表于 2015-1-30 18:01:43 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
再现理想 该用户已被删除
5#
发表于 2015-1-30 21:15:39 来自手机 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-5 04:21:02 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
简单生活 该用户已被删除
7#
发表于 2015-2-6 16:40:29 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
若天明 该用户已被删除
8#
发表于 2015-2-17 07:57:02 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
透明 该用户已被删除
9#
发表于 2015-2-19 09:47:56 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
admin 该用户已被删除
10#
发表于 2015-2-23 21:38:29 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
海妖 该用户已被删除
11#
发表于 2015-2-28 16:53:38 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
活着的死人 该用户已被删除
12#
发表于 2015-3-10 01:41:43 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
第二个灵魂 该用户已被删除
13#
发表于 2015-3-10 08:49:21 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
飘灵儿 该用户已被删除
14#
发表于 2015-3-17 06:08:02 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
乐观 该用户已被删除
15#
 楼主| 发表于 2015-3-23 22:14:14 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-28 17:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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