J2SE J2EE J2ME的区别多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用。 Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本:Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程Enterprise Edition(企业版) J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。比如:EJB、servlet、JSP、XML、事务控制Micro Edition(微缩版) J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。比如:呼机、智能卡、手机、PDA、机顶盒 他们的范围是:J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类 应用场合,API的覆盖范围各不相同。笼统的讲,可以这样理解:J2SE是基础;压缩一点,再增加一些CLDC等方面的特性就是J2ME;扩充一点,再增加一些EJB等企业应用方面的特性就是J2EE。 补充一点J2EE更恰当的说,应该是JAVA2企业开发的技术规范,不仅仅是比标准版多了一些类。jdk,j2ee,j2se,j2me的概念区别1.JDK是Java development toolkit,相当于是Java的库函数,是编译,运行java程序的工具包。J2EE是Java 2 enterprise edition是Java的一种企业版用于企业级的应用服务开发J2SE是Java 2 standard edition是Java的标准版,用于标准的应用开发J2ME是Java 2 Micro Edition是Java的微型版,常用于手机上的开发J2EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务,也就是提供不同类型的类库。针对企业网应用的J2EE(Java 2 Enterprise Edition)、针对普通PC应用的J2SE(Java 2 Standard Edition)和 针对嵌入式设备及消费类电器的J2ME(Java 2 Micro Edition)三个版本对于初学者,都是从J2SE入手的。 2. j2ee和j2se的区别:j2ee是在j2se的基础上添加了一系列的企业级应用编程接口.j2ee包含有很多的技术!其中有你熟悉的jsp,servlet,jdbc,jme等13中技术!j2ee主要是用来做B/S结构的应用程序!也就是说是基于浏览器和服务器的!j2se给我的感觉只需要一个容器就够了,j2ee支持分布式组件可以同时存在多个容器 1、J2EE到底是什么? J2EE,是sun公司提出的一个标准,符合这个标准的产品叫“实现”;其中你下载的sun公司的j2ee开发包中就有一个这样的“实现”,而jboss,weblogic,websphere都是j2ee标准的一个“实现”。由于jboss,weblogic,websphere自身带有j2ee的api,所以可以不使用sun的j2ee实现。 2、j2ee sdk和j2sdkee的区别 其实你可以把j2ee sdk和j2sdkee当成是一回事,官方叫法为 j2ee sdk。不过如果你仔细推敲,也可以用下面的方法来理解:j2eesdk就是jdk,这个是开发ejg必须要安装的,j2sdkee是j2ee开发环境,这也是要安装的,其实如果你安装了jboss的话,就不用全部安装j2sdkee了,只要把其中的一个名为j2ee的文件复制过去就可以了,也就是说jdk是必须要装的,而j2sdkee则不需要,看你用什么做容器了。 3、装过j2ee sdk还需要装j2se sdk吗? 在sun的网站下载J2ee1.4时,有两种下载包: 一种是j2ee1.4 sdk完整包(all in one),包含j2ee server,j2se, sample, api doc; j2ee 好像包含j2se 几乎所有东西.我看 j2ee里也有一个jdk ,它下面的lib和j2se下面的lib一样大(同版本的).但jre不一样大,因为j2ee比j2se多了好多,如java.servlet.* ,java.servlet.http.* 等. j2ee 是让你用来开发 j2ee specification 的东西.如果是用于web 服务器,不装j2ee也行,只要装一个jre (连j2se都不用装),外加一个servlet引擎(如tomcat)就够了. 看下面这个,一目了然: j2se == jdk == bin + demo + include + jre + lib + src.rar //SUN官方的jdk1.4.2 j2ee == jdk + …. //这里的 jdk 和上面的只有 jre 文件不一样大,原因上文已说. 另一种为单独的j2ee server,安装前需要先安装j2se sdk。 不管哪个,安装完成后,都要设置java_home,j2ee_home,classpath环境变量,再运行j2ee server即可。 为了方便开发者,Sun把Java区分为J2SE(Java 2 Standard Edition)、J2EE(Java 2 Enterprise Edition)、J2ME(Java 2 Micro Edition)和Java Card四种平台。J2SE是所有Java技术的基础,不管开发人员要开发什么平台的Java应用程序,都必须先从J2SE学起。J2EE技术着重于企业服务器端的应用。J2ME主要针对嵌入式系统,包括手机、PDA等。针对手机应用程序的开发,Sun还提供了免费的J2ME Wireless Toolkit。Java Card技术用来开发可以植入IC智能卡中的应用程序。 以上四种平台的软件开发包(Software Development Kit,SDK)都是免费的,可以从Sun的网站下载。当然,只用SDK未免太不讲究,我们需要开发工具来提高开发效率。这样的工具叫做集成开发环境(Integrated Development Environment,IDE)。以往,Borland JBuilder和IBM Eclipse这两个IDE最受Java程序员的青睐,而Sun自己的IDE却名不见经传。2004年以后,Sun把自己的IDE摆放到重要的位置,努力推进NetBeans和Java Studio的开发。前者是完全用Java撰写的开放源代码的工具,而后者则是重量级的官方开发工具。Sun的开发工具可谓根正苗红,Java程序员终于可以沐浴Sun(阳光)普照了! 转自:http://hi.baidu.com/mlgzkj/item/adc9c3bf54206ff062388efe
View Details我们都知道,如果是清空数据库中所有表的数据的,那比较好办,只要利用系统表sys.tables查询出数据库中所有表信息,然后再用游标循环清空就好了,附SQL语句如下:
1 2 3 4 5 6 7 8 9 10 11 |
declare @tbname varchar(255) declare #tb cursor for select name from sys.tables open #tb fetch next from #tb into @tbname while @@fetch_status=0 begin exec('delete from ['+@tbname+']') fetch next from #tb into @tbname end close #tb deallocate #tb |
有关sys.tables的用法,请参考本站:利用SQL语句查询数据库中所有表 但有时候我们是要有选择性的清空某些表信息,小编最近就遇到这种情况,我只需清空小编负责的ERP系统中的所有业务流程数据,而基础信息与系统配置信息是不能被清除的,怎么办呢?为了达了快速与重复利用的目的,小编把自己的解决方案附下: 先创建一个配置表,表名为:Sys_TableExtendedProperties表字段如下:TableName-存储系统中所有表的表名IsSystem-指定表是否为系统表IsBaseInformation-指定表是否为基础数据表……其它字段,请大家根据自己的需要添加然后我们将所有表的信息添加到表中(此步骤虽然烦琐,但为了以后的快速调用,现在烦琐点也是值得的),然后,我们写一个存储过程来清空指定数据。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
/* 创建时间:2011-10-11 功能:清除所有指定表的数据 创建人:程序食堂 */ create procedure ClearDate @sourcetype int as set nocount on declare @TableName varchar(128) declare @T_Table table(TableName varchar(128) not null) --获取要删除数据的表 if(sourcetype=1) --如果sourcetype=1,删除所有系统数据 begin insert into @T_Table(TableName) select name from sys.tables where exists(select * from Sys_TableExtendedProperties where Sys_TableExtendedProperties.TableName = sys.tables.name and Sys_TableExtendedProperties.IsSystemTable = 1) order by name end else if(sourcetype=2) --如果sourcetype=2,删除所有基础数据 begin insert into @T_Table(TableName) select name from sys.tables where exists(select * from Sys_TableExtendedProperties where Sys_TableExtendedProperties.TableName = sys.tables.name and Sys_TableExtendedProperties.IsBaseInformation = 1) order by name end else --如果sourcetype等于其它值,删除所有业务数据 begin insert into @T_Table(TableName) select name from sys.tables where exists(select * from Sys_TableExtendedProperties where Sys_TableExtendedProperties.TableName = sys.tables.name and Sys_TableExtendedProperties.IsSystemTable = 0 and Sys_TableExtendedProperties.IsBaseInformation = 0) order by name end while exists(select * from @T_Table) begin --随机取表名 select top 1 @TableName = TableName from @T_Table order by newid() begin try --尝试清除表数据 if not exists(select * from sysforeignkeys where object_name(rkeyid)=@TableName) begin exec('truncate table '+@TableName) end else begin --删除表数据(如果有触发器,先关闭触发器) --禁用与启用触发器,请参见本站: 利用Sql禁用与启用触发器 exec('alter table '+@TableName + ' disable trigger all delete from '+@TableName + ' alter table '+@TableName + ' enable trigger all') --有自增栏位 if exists(select * from syscolumns where id = object_id(@TableName) and colstat = 1) begin --将自增栏位当前标识值置为0 DBCC CHECKIDENT (@TableName, RESEED, 0) end end delete @T_Table where TableName = @TableName end try begin catch end catch end |
现在,我们任意时候想清空指定表数据时,执行该存储过程即可。 转自:http://www.lmwlove.com/ac/ID637
View Details