摘要: ①游标的状态是通过属性来表示。 %Found :Fetch语句(获取记录)执行情况True or False。--是否指向有效行。 %NotFound : 最后一条记录是否提取出True or False。 %ISOpen : 游标是否打开True or False。 %RowCount :游标当前提取的行数 。所谓游标就是有没有一个箭头指向一条记录(自己得理解), declare cursor c is select * from emp; v_b emp%rowtype; begin open c; loop fetch c into v_b; ... 阅读全文
posted @ 2013-11-27 16:50 离子 阅读(633) 评论(0) 推荐(0) 编辑
摘要: -- 声明游标;CURSOR cursor_name IS select_statement--For 循环游标--(1)定义游标--(2)定义游标变量--(3)使用for循环来使用这个游标declare--类型定义cursor c_jobisselect empno,ename,job,salfrom empwhere job='MANAGER';--定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型c_row c_job%rowtype;beginfor c_row in c_job loopdbms_output.put_ 阅读全文
posted @ 2013-11-27 16:00 离子 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号; 相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替 阅读全文
posted @ 2013-11-27 10:24 离子 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 如何解决动态数据表名,动态字段名情况下,由ibatis缓存select字段而引起的字段找不到的情况?以下是最简单的解决办法!当使用动态表,动态字段时,会引起字段名的缓存,以下是解决办法。先看一个例子。下面是段SQL语句前台传入的hashmap变量中,有动态数据表名,及字段名,Dao里面的调用方法如下://根据动态数据表名及动态选择的字段按条件分页查出相应的数据,注意清除缓存的使用publicvoidgetResDataByCondition(Pagepage){//TODOAuto-generatedmethodstubsuper.queryForListPagination("se 阅读全文
posted @ 2013-11-21 14:16 离子 阅读(3086) 评论(0) 推荐(0) 编辑
摘要: 在多数情况下,提取循环中所完成的处理都会修改由游标检查出的行,PL/SQL提供了进行这样处理的一种语法。 这种语法包括两部分——在游标声明部分的FOR UPDATE子句和在UPDATE或DELETE语句中的WHERE CURRENT OF 子句。 通常,SELECT操作将不会对正处理的行执行任何锁定设置,这使得连接到该数据库的其他会话可以改变正在选择的数据。 但是,结果集仍然是一致性的。当确定了活动集以后,在执行OPEN的时刻,ORACLE会截取下该表的一个快照。在此时刻以前所提交的任何更改操作都会在活动集中反映出来。在此时刻以后所进行的任何更改操作,即使已经提交了它们,都不会被反映出... 阅读全文
posted @ 2013-11-19 15:51 离子 阅读(3000) 评论(0) 推荐(0) 编辑
摘要: Java中的多态是如何实现的?父类引用指向子类实例时,父类引用调用方法时,jvm是如何动态地调用子类中的对应的方法?如下有两个类B和A,其中B继承A,B覆盖了A类中的test方法。public Class A{public test(){}}public Class B extends A{public test(){}}A a=new B();a.test();其中jvm是如何动态地调用B类中的test 方法?a声明为类型A是方便编译器能够编译时检查a是否可以调用test()方法,在实际运行时JVM记录a的实际类型是B;在JVM中,B有一张方法表(分为多行),每一行的内容是方法名和指向方法实 阅读全文
posted @ 2013-10-24 23:53 离子 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 栈、堆、常量池等虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,简单讲解Java内存分配方面的知识。首先我们先来讲解一下内存中的各个区域。stack(栈):存放基本类型的数据和对象的引用,即存放变量。如果存放的事基本类型的数据(非静态变量),则直接将变量名和值存入stack中的内存中;如果是引用类型,则将变量名存入栈,然后指向它new出的对象(存放在堆中)。heap(堆):存放new产生的数据。data segment:分为静态域和常量域。静态域:存放在对象中用static定义的静态成员(即静态变量,同理,如果该静态变量是基本类型则将变量名和值存入静态 阅读全文
posted @ 2013-10-24 09:21 离子 阅读(204) 评论(0) 推荐(0) 编辑
摘要: package com.liyang;class liyang { { System.out.println("代码块"); } static { System.out.println("静态代码块"); } public liyang() { System.out.println("构造方法代码块"); }}public class liyang2 { { System.out.println("liyang2代码块"); } static { System.out.println("liyang2静态 阅读全文
posted @ 2013-10-23 22:29 离子 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 拘留字符串对象源代码中所有相同字面值的字符串常量只可能建立唯一 一个拘留字符串对象。 实际上JVM是通过一个记录了拘留字符串引用的内部数据结构来维持这一特性的。在Java程序中,可以调用String的intern()方法来使得一个常规字符串对象成为拘留字符串对象。(1)String s=new String("Hello world"); 编译成class文件后的指令(在myeclipse中查看):事实上,在运行这段指令之前,JVM就已经为"Hello world"在堆中创建了一个拘留字符串( 值得注意的是:如果源程序中还有一个"Hello w 阅读全文
posted @ 2013-10-23 11:44 离子 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 理解JAVA数组参考资料:1.《java jdk5.0 学习笔记》良葛格 第五章数组2.如何理解数组的length?http://blog.csdn.net/treeroot/archive/2005/01/22/264001.aspx3.关于java数组的深度思考http://dev.csdn.net/author/DeepNightTwo/afb7e220bdf5423ba656f84b6a183b44.html一.为什么需要数组?(《java jdk5.0 学习笔记》良葛格)例如,现在要整理全班的Java小考成绩,您希望写个小程序,全班共有40名学生,所以必须有40个变量来存储学生的成绩 阅读全文
posted @ 2013-10-23 09:33 离子 阅读(288) 评论(0) 推荐(0) 编辑