- 博客(69)
- 资源 (7)
- 收藏
- 关注
原创 利用--作代码分析
select alias_cardtype, id_card_value, sum(decode(flag, 'inTotal', total, 0)) inTotal,--tj sum(decode(flag, 'outTotal', total, 0)) outTotal,--tj sum(decode(flag, 'active
2012-12-13 11:00:09 557
原创 left join
例2: 表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表B记录如下: bID bName 1 2006032401 2 2006032402 3 2006032403 4
2012-12-13 10:27:31 542
转载 创建ORACLE JOB
oracle job简介 主要的使用情景 定时在后台执行相关操作:如每天晚上0点将一张表的数据保存到另一张表中,2:定时备份数据库等 熟化说万事开头难,这里我只简单记述一个创建一个简单的job 步骤如下: 1、创建一张表g_test create table G_TEST ( ID NUMBER(12), C_DATE DATE ) 2、创建
2012-12-10 10:18:55 466
原创 SQL UNION 和 UNION ALL 操作符
SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column
2012-11-09 15:25:02 427
转载 Spring JDBC模板类—org.springframework.jdbc.core.JdbcTemplate .
关于JDBC的"薄"封装,Spring 用一个Spring JDBC模板类来封装了繁琐的JDBC操作。下面仔细讲解一下Spring JDBC框架。一、首先看一下为什么要对JDBC进行封装? 传统的JDBC API实现比较底层,不管用户执行一个复杂的数据库操作还是一个简单的数据库查询操作,都有一个模板可以使用:捕获或抛出异常—获取连接—创建Statement或PreparedStatem
2012-11-09 14:32:16 1822
原创 TRUNCATE和DELETE有以下几点区别
TRUNCATE和DELETE有以下几点区别:1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完
2012-10-16 15:25:09 431
转载 Long.decode(String s)和Long.valueOf(String s)的区别
Long.decode(String s)和Long.valueOf(String s)的区别Long.decode可以解析以0x、0X、#、0开头的字符串,分别表示这个字符串是16或8进制的数字字符串,而valueOf只能解析纯数字的10进制字符串。 System.out.println(Long.decode("011")); // 8进制,输出9.
2012-10-16 15:03:29 1834
转载 Base 64
(一)java自带的加密和解密import sun.misc.BASE64Decoder;public class Base64Utils { public static String getBASE64(byte[] b) { String s = null; if (b != null) { s = new sun.misc.BASE64Encoder()
2012-09-07 15:12:45 589
转载 Java多态
[html] view plaincopyprint?class BaseClass{ public int book=6; public void book(){ System.out.println("父类的普通方法"); } } class BaseClass{ public int book
2012-08-29 17:26:03 2000 2
转载 Java中多态的实现机制
多态性是面向对象程序设计代码重用的一个重要机制,我们曾不只一次的提到Java多态性。在Java运行时多态性:继承和接口的实现一文中,我们曾详细介绍了Java实现运行时多态性的动态方法调度;今天我们再次深入Java核心,一起学习Java中多态性的实现。“polymorphism(多态)”一词来自希腊语,意为“多种形式”。多数Java程序员把多态看作对象的一种能力,使其能调用正确的方法版本。尽管如
2012-08-29 17:14:05 1094 1
转载 Java接口学习笔记
java语言不支持一个类有多个直接的父类(多继承),但可以实现(implements)多个接口,间接的实现了多继承 一、Java接口基础知识1, Java语言不支持一个类有多个直接的父类(多继承),但可以实现(implements)多个接口,间接的实现了多继承.2, 与Java接口相关的设计模式:1, 定制服务模式设计精粒度的接口,每个Java接口代表相关的一组服务,通过继
2012-08-29 16:42:36 805 1
原创 深入理解Java接口(一)
一、Java接口的基本内容[1].Java编程语言中不支持多重继承(即Java中一个类不能有多于一个的直接父类),但可以实现多个接口,这就间接地实现了多重继承。[2].接口(Interface)将产生一个完全抽象的类,它是用来建立类与类之间的协议的,其内部只提供调用方法的形式(创建者确定方法名、参数列表及返回类型),而没有提供任何具体的方法体。具体的实现方法(该接口中的所有方法)需要在遵循
2012-08-29 16:40:20 837
转载 Java里面的接口Java里面的接口
Java里面由于不允许多重继承,所以如果要实现多个类的功能,则可以通过实现多个接口来实现。 Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现。OOP面向对象的编程,如果要提高程序的复用率,增加程序的可维护性,可扩展性,就必须是面向接口的编程,面向抽象的编程,正确地使用接口、抽象类这些太有用的抽象类型做为你结构层次上的顶层。 Java接口和
2012-08-29 16:11:20 800 1
转载 html学习心得
经过1天多的艰苦奋战,终于把html(Hypertext markup language)的基础教程给看完了。 这次为了xml而看了这“古老”的技术,还是有点收获的。。总体来说,虽然不是很熟练,但是看懂一般的html网页源文件已经不是问题了。闲来无事,就写写笔记吧,说说感受也好!html给我的感觉是很标准,很有格式的。最主要的代码特点就是标记成对的出现,虽然有些可以省略,但是建议除非太
2012-08-26 23:45:12 10707 2
原创 PL/SQL架构
PL/SQL的编码和运行时系统是一项技术,而不是一个独立的产品。可以把这项技术想象成一个能够编译并运行PL/SQL块和子程序的引擎。这个引擎可以安装在Oracle服务器上或安装在Oracle Forms,Oracle Reports这样的开发工具中。所以,PL/SQL可以在两种环境中存在:Oracle数据库服务器Oracle开发工具这两种环境是独立的。PL/SQL虽被绑
2012-08-21 14:04:22 1055
原创 PLSQL 错误控制
错误控制PL/SQL能够轻松的发现并处理预定义和用户定义的错误条件(即异常)。错误发生时,异常就会被抛出。也就是说,正常的执行会终止,程序控制权将交给PL/SQL块或子程序的异常处理部分。为控制被抛出的异常,我们需要单独编写异常控制句柄(即异常控制程序)。预定义异常会被系统隐式地抛出,例如,用一个数字除以零,PL/SQL就会自动抛出预定义异常ZERO_DIVIDE。对于用户自定义异常,
2012-08-21 13:57:42 565
原创 PLSQL数据抽象
数据抽象数据抽象可以让我们把必要的属性提取出来,忽略那些非必须的细节问题,有助于我们更好地解决问题。一旦我们设计好一个数据结构,就可以不再考虑细节内容,而专注于操作这个数据结构的算法问题的研究。集合集合类型TABLE和VARRAY可以让我们声明索引表、嵌套表和变长数组(略称varray)。集合是类型相同的元素有序组合。在集合中,每个元素都有唯一一个能够确定该元素在集合中位置的下标索
2012-08-21 13:44:58 559
原创 模块化
模块化模块化可以让我们把程序分成多个部分,这样可以把复杂的问题划分开来,更好的解决问题。PL/SQL为我们提供了块、子程序和包三个程序单元来用于模块化处理。子程序子程序有两种,分别是函数和过程。子程序很像一段小型的程序,由可选的声明部分,执行控制部分和可选的异常控制部分组成。PROCEDURE award_bonus(emp_id NUMBER) IS b
2012-08-21 13:16:31 554
原创 控制结构
控制结构流程控制是PL/SQL对SQL的最重要的扩展。PL/SQL不仅能让我们操作Oracle数据,还能让我们使用条件、循环和顺序控制语句来处理数据,如IF-THEN-ELSE,CASE,FOR-LOOP,WHILE-LOOP,EXIT-WHEN和GOTO等。条件控制我们经常需要根据环境来采取可选择的行动。IF-THEN-ELSE语句能让我们按照条件来执行一系列语句。IF用
2012-08-21 11:56:53 494
原创 PL/SQL 属性
PL/SQL的变量和游标都有着让我们能够直接引用它们各自的数据类型或结构的属性。数据库字段和表也有类似的属性。"%"是一个属性的指示符。%TYPE%TYPE可以提供一个变量或数据库字段的数据类型,这在声明存放数据库值的变量时是非常有用的。假设我们要声明一个存放表books中的字段my_title的字段的变量时,就可以这样使用%TYPE属性:my_titl
2012-08-21 11:51:45 741
原创 游标变量
游标变量的使用方式和游标类似,但更加灵活,因为它不绑定于某个特定的查询,所以可用于打开任何返回类型相兼容的查询语句。游标变量是真正的 PL/SQL变量,我们可以为它赋值,把它传递给子程序。如下例,我们把游标变量作为存储过程open_cv的一个参数传进去,程序执行时,可以根据 choice值的不同,灵活地打开不同的查询内容。PROCEDURE open_cv(generic_cv IN OU
2012-08-21 11:43:53 680
原创 游标的概念引入(隐式游标日常常用,只是一个内部的机制而已)
游标的类型有两种:隐式和显式。 PL/SQL会为所有的SQL数据操作声明一个隐式的游标,包括只返回一条记录的查询操作。其实我们在pl/sql中每作一次查询操作就用到了oracle的隐式的游标。 此外,我们可以显示地使用游标来处理一条查询结果的游标:DECLARE CURSOR c1 IS SELECT empno, ename, job FROM em
2012-08-21 11:35:23 1148
原创 变量与常量
PL/SQL允许我们声明常量和变量,但是常量和变量必须是在声明后才可以使用,向前引用(forward reference)是不允许的。1、变量声明变量可以是任何SQL类型,如CHAR,DATE或NUMBER等,也可以是PL/SQL类型,BOOLEAN或BINARY_INTEGER等。声明方法如下:part_no NUMBER(4);in_stock BOOLEAN;我们还可以用
2012-08-21 11:09:07 477
原创 一个简单的pl/sql块代码
DECLARE qty_on_hand NUMBER(5);BEGIN SELECT quantity INTO qty_on_hand FROM inventory WHERE product = 'TENNIS RACKET' FOR UPDATE OF quantity;
2012-08-21 10:47:08 933 1
原创 变量为什么要分开在头部和is部分两个地方声明呢?
create or replace procedure change_sal( v_ename in varchar2, v_sal in number, v_job out varchar2, v_dname out varchar2)is v_empno emp.empno%type;begin ... ...end;变量为什么要分开在头部和is部分两个地方声明呢?有什么本质的区别吗?
2012-08-21 10:16:33 813
原创 for update 和 for update of 有什么区别
1select * from TTable1 for update锁定表的所有行,只能读不能写2select * from TTable1 where pkid = 1 for update只锁定pkid=1的行3select * from Table1 a join Table2 b on a.pkid=b.pkid for update
2012-08-21 10:06:02 10507
原创 发现问题
单元测试 一个简单的测试框架 Junit 断言语法 (这个以后用到再好学习)既然我们可以使用其它的编程结构来仿真断言的效用,这表明将断言添加到 Java 的关键之处在于它们很容易编写。断言语句有两种常用的形式: assert boolean-expression; assert boolean-expression: information-ex
2012-08-15 18:27:04 581
原创 Windows 与 Applet 程序
JAVA AWT 之类的图形化编程,这边就不深入研究了相应的很多图形化文本框和VB有的,基本Java也都有。
2012-08-15 18:14:44 450
原创 多线程编程
线程编程与java其实是两回事,不过java有提供对相应的线程的支持。所以要想在java中进行多线程编程需要学习线程的工作原理和java中的相应的包的特性。知识要分开。还有了解相应的锁机制。
2012-08-15 18:12:43 358
原创 并发
对象技术使你得以把程序划分成若干独立的部分。通常,你还需要把程序转换成彼此分离的,能独立运行的子任务。 每一个这些独立的子任务都被称为一个“线程”(thread)。你要这样去编写程序:每个线程都好象是在独自运行并且占有自己的处理器。处理器时间确实是通过某些底层机制进行分配的,不过一般来说,你不必考虑这些,这使得编写多线程程序的任务变得容易得多了。所谓“进程”(process),
2012-08-15 18:04:59 377
原创 对象序列化
Java的对象序列化(Object Serialization)将那些实现了 Serializable接口的对象转换成一个字节序列,并可以在以后将这个字节序列完全恢复为原来的对象。这一过程甚至可通过网络进行。这意味着序列化机制能自动弥补不同操作系统之间的差异。也就是说,可以在运行 Windows 系统的计算机上创建一个对象,将其序列化,通过网络将它发送给一台运行Unix 系统的计算
2012-08-15 16:02:49 383
原创 Java I/O系统
对白酿成语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项更艰难的任务。 现有的大量不同方案已经说明了这一点。挑战似乎来自于要涵盖所有的可能性。不仅存在各种用于通信的 I/O 源端和接收端(文件、控制台、网络链接等),而且还需要以多种不同的方式与它们进行通信(顺序、随机存取、缓冲、二进制、按字符、按行、按字等)。 Java类库的设计者是通过创建大量的类来解决这个难题的。一
2012-08-15 15:56:34 1052
原创 对象的集合
如果程序只包含固定数量的对象,并且其生命周期都已知,那么这个程序就实在太简单了。 通常,你的程序会根据运行时才知道的条件创建新对象。不到运行期,不会知道所需对象的数量,甚至不知道确切的类型。为解决这个普遍的编程问题,需要能够在任意时刻,任意位置,创建任意数量的对象。所以,你就不能指望创建具名的引用来持有每一个对象: MyObject myReference; 因为你不知道实际上
2012-08-15 15:44:17 399
原创 类型检查 与Java 多态相结合及反射机制相结合
运行期类型识别(RTTI,run-time type identification)的概念初看起来非常简单:当你只有一个指向对象的基类的引用时,RTTI 机制可以让你找出这个对象确切的类型。 对 RTTI 的需要,揭示了面向对象设计中许多有趣(并且复杂)的问题,同时也提出了如何组织程序的问题。讨论 Java 是如何允许我们在运行期识别对象和类的信息。主要有两种方式:一种是
2012-08-15 15:34:47 487
原创 异常使用指南
你应该在下列情况下使用异常: 1. 在恰当的级别处理问题。(在你知道该如何处理的情况下才捕获异常)。 2. 解决问题并且重新调用产生异常的方法。 3. 进行少许修补,然后绕过异常发生的地方继续执行。 4. 用别的数据进行计算,以代替方法返回的期望值。 5. 把当前运行环境下能做的事情尽量作完,然后把相同的异常重抛(rethrow)到更高层。 6. 把当前运行环境下能做的
2012-08-15 15:30:01 537
原创 使用 finally进行清理
对于一些代码,你可能会希望无论try块中的异常是否抛出,它们都能得到执行。这通常适用于内存回收(由垃圾回收器完成)之外的情况。为了达到这个效果,你可以在异常2处理程序后面加上finally子句 。完整的异常处理程序看起来像这样: try { // The guarded region: Dangerous activities // that might th
2012-08-15 15:27:28 813
原创 异常与错误处理
Java 的基本理念是“结构不佳的代码将不能运行”。 发现错误的理想时机是在编译阶段,也就是在你试图运行程序之前。然而,编译期间并不能找出所有的错误,余下的问题必须在运行期间得到解决。这就需要错误源能通过某种方式,把适当的信息传递给某个接收者,后者将知道如何正确处理这个问题。 使用异常所带来的另一个相当明显的好处是,它能使错误处理代码变得更有条理。与原先“对于同一个错
2012-08-15 15:18:11 490
原创 内部类,Java特有的
这正是内部类要做的事情,你可以: 1. 用一个单独的类完整地实现一个控制框架,从而将实现的细节封装起来。内部类用来表示解决问题所必需的各种不同的 action()。 2. 内部类能够轻易的访问外围类的任意成员,所以可以避免这种实现变得很笨拙。如果没有这种能力,代码将变得很令人讨厌,以至于你肯定会选择别的方法。总结 比起面向对象编程中其他的概念来,接口和内部类更深奥
2012-08-15 10:14:31 491
原创 为什么需要内部类?
典型的情况是,内部类继承自某个类或实现某个接口,内部类的代码操作创建其的外围类的对象。所以你可以认为内部类提供了某种进入其外围类的窗口。 内部类必须要回答一个问题是:如果我只是需要一个对接口的引用,为什么我不通过外围类实现那个接口呢?答案是:“如果这能满足你的需求,那么你就应该这样做。”那么内部类实现一个接口与外围类实现这个接口有什么区别呢?答案是你不是总能享用到接口带来
2012-08-15 10:10:56 478
原创 通过继承来扩展接口
通过继承,你可以很容易地在接口中添加新的方法声明,你还可以通过继承在新接口中组合数个接口。在两种情况下,你都可以获得新的接口,就像在下例中所看到的: //: c08:HorrorShow.java // Extending an interface with inheritance. interface Monster { void menace(); }
2012-08-15 10:01:41 439
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人