﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-新的起点</title><link>http://www.blogjava.net/haiing/</link><description>新的起点</description><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 20:03:37 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 20:03:37 GMT</pubDate><ttl>60</ttl><item><title>Oracle常用及非常用函数详解</title><link>http://www.blogjava.net/haiing/archive/2008/12/14/246264.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Sun, 14 Dec 2008 12:12:00 GMT</pubDate><guid>http://www.blogjava.net/haiing/archive/2008/12/14/246264.html</guid><wfw:comment>http://www.blogjava.net/haiing/comments/246264.html</wfw:comment><comments>http://www.blogjava.net/haiing/archive/2008/12/14/246264.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haiing/comments/commentRss/246264.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haiing/services/trackbacks/246264.html</trackback:ping><description><![CDATA[转载自：http://wangyu.javaeye.com/blog/192292<br />
<div>
<p>感于总有些网友提出一些非常基础的问题，比如有没有实现某某功能的函数啊，某某函数是做什么用的啊，格式是什么等等，同时也感受到自己对oracle函数认识的不足，于是集中月余时间专注于oracle函数，小有心得不敢私藏，发之与诸公共享。 <br />
<br />
本文并不准备介绍全部的oracle函数，当前情势下，俺也还没这个时间，需要学习的东西太多了，要把多数时间花在学习经常能用上的技术方面:)，所以如果是准备深入了解所有oracle函数的朋友，还是去关注：Oracle SQL Reference官方文档更靠谱一些。 <br />
<br />
本文更多将会介绍三思在日常中经常会用到的，或者虽然很少用到，但是感觉挺有意思的一些函数。分二类介绍，分别是： <br />
著名函数篇　－经常用到的函数 <br />
非著名函数篇－即虽然很少用到，但某些情况下却很实用 <br />
<br />
注：N表示数字型，C表示字符型，D表示日期型，[]表示内中参数可被忽略，fmt表示格式。 <br />
<br />
单值函数在查询中返回单个值，可被应用到select，where子句，start with以及connect by 子句和having子句。 <br />
(一).数值型函数(Number Functions) <br />
数值型函数输入数字型参数并返回数值型的值。多数该类函数的返回值支持38位小数点，诸如：COS, COSH, EXP, LN, LOG,
SIN, SINH, SQRT, TAN, and TANH 支持36位小数点。ACOS, ASIN, ATAN, and
ATAN2支持30位小数点。 <br />
<br />
1、MOD(n1,n2) 返回n1除n2的余数，如果n2=0则返回n1的值。 <br />
&nbsp;&nbsp;&nbsp; 例如：SELECT MOD(24,5) FROM DUAL; <br />
<br />
2、
ROUND(n1[,n2])
返回四舍五入小数点右边n2位后n1的值，n2缺省值为0，如果n2为负数就舍入到小数点左边相应的位上(虽然oracle
documents上提到n2的值必须为整数，事实上执行时此处的判断并不严谨，即使n2为非整数，它也会自动将n2取整后做处理，但是我文档中其它提到必须为整的地方需要特别注意，如果不为整执行时会报错的)。 <br />
例如：SELECT ROUND(23.56),ROUND(23.56,1),ROUND(23.56,-1) FROM DUAL; <br />
<br />
3、TRUNC(n1[,n2] 返回截尾到n2位小数的n1的值，n2缺省设置为0，当n2为缺省设置时会将n1截尾为整数，如果n2为负值，就截尾在小数点左边相应的位上。 <br />
例如：SELECT TRUNC(23.56),TRUNC(23.56,1),TRUNC(23.56,-1) FROM DUAL; </p>
<p>(二).字符型函数返回字符值(Character Functions Returning Character Values) <br />
该类函数返回与输入类型相同的类型。 <br />
返回的CHAR类型值长度不超过2000字节； <br />
返回的VCHAR2类型值长度不超过4000字节； <br />
如果上述应返回的字符长度超出，oracle并不会报错而是直接截断至最大可支持长度返回。 <br />
<br />
返回的CLOB类型值长度不超过4G； <br />
对于CLOB类型的函数，如果返回值长度超出，oracle不会返回任何错误而是直接抛出错误。 <br />
<br />
1、LOWER(c) 将指定字符串内字符变为小写，支持CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB类型 <br />
&nbsp;&nbsp;&nbsp; 例如：SELECT LOWER('WhaT is tHis') FROM DUAL; <br />
<br />
2、UPPER(c) 将指定字符串内字符变为大写，支持CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB类型 <br />
&nbsp;&nbsp;&nbsp; 例如：SELECT UPPER('WhaT is tHis') FROM DUAL; <br />
<br />
3、LPAD(c1,n[,c2]) 返回指定长度=n的字符串，需要注意的有几点： <br />
如果n&lt;c1.length则从右到左截取指定长度返回； <br />
如果n&gt;c1.length and c2 is null，以空格从左向右补充字符长度至n并返回； <br />
如果n&gt;c1.length and c2 is not null，以指定字符c2从左向右补充c1长度至n并返回； <br />
例如：SELECT LPAD('WhaT is tHis',5),LPAD('WhaT is tHis',25),LPAD('WhaT is tHis',25,'-') FROM DUAL; <br />
最后大家再猜一猜，如果n&lt;0，结果会怎么样 <br />
<br />
4、RPAD(c1,n[,c2]) 返回指定长度=n的字符串，基本与上同，不过补充字符是从右向左方向正好与上相反； <br />
&nbsp;&nbsp;&nbsp; 例如：SELECT RPAD('WhaT is tHis',5),RPAD('WhaT is tHis',25),RPAD('WhaT is tHis',25,'-') FROM DUAL; <br />
<br />
5、TRIM([[LEADING||TRAILING||BOTH] c2 FROM] c1) 哈哈，被俺无敌的形容方式搞晕头了吧，这个地方还是看图更明了一些。 <br />
看起来很复杂，理解起来很简单： <br />
如果没有指定任何参数则oracle去除c1头尾空格 <br />
例如：SELECT TRIM(' WhaT is tHis ') FROM DUAL; <br />
如果指定了c2参数，则oracle去掉c1头尾c2(这个建议细致测试，有多种不同情形的哟) <br />
例如：SELECT TRIM('W' FROM 'WhaT is tHis w W') FROM DUAL; <br />
如果指定了leading参数则会去掉c1头部c2 <br />
例如：SELECT TRIM(leading 'W' FROM 'WhaT is tHis w W') FROM DUAL; <br />
如果指定了trailing参数则会去掉c1尾部c2 <br />
例如：SELECT TRIM(trailing 'W' FROM 'WhaT is tHis w W') FROM DUAL; <br />
如果指定了both参数则会去掉c1头尾c2(跟不指定有区别吗？没区别！) <br />
例如：SELECT TRIM(both 'W' FROM 'WhaT is tHis w W') FROM DUAL; <br />
注意：c2长度=1 <br />
<br />
6、LTRIM(c1[,c2]) 千万表以为与上面那个长的像，功能也与上面的类似，本函数是从字符串c1左侧截取掉与指定字符串c2相同的字符并返回。如果c2为空则默认截取空格。 <br />
例如：SELECT LTRIM('WWhhhhhaT is tHis w W','Wh') FROM DUAL; <br />
<br />
7、RTRIM(c1,c2)与上同，不过方向相反 <br />
&nbsp;&nbsp;&nbsp; 例如：SELECT RTRIM('WWhhhhhaT is tHis w W','W w') FROM DUAL; <br />
<br />
8、REPLACE(c1,c2[,c3]) 将c1字符串中的c2替换为c3，如果c3为空，则从c1中删除所有c2。 <br />
&nbsp;&nbsp;&nbsp; 例如：SELECT REPLACE('WWhhhhhaT is tHis w W','W','-') FROM DUAL; <br />
<br />
9、SOUNDEX(c) 神奇的函数啊，该函数返回字符串参数的语音表示形式，对于比较一些读音相同，但是拼写不同的单词非常有用。计算语音的算法如下： <br />
保留字符串首字母，但删除a、e、h、i、o、w、y。 <br />
将下表中的数字赋给相对应的字母： <br />
1：b、f、p、v <br />
2：c、g、k、q、s、x、z <br />
3：d、t <br />
4：l <br />
5：m、n <br />
6：R <br />
如果字符串中存在拥有相同数字的2个以上（包含2个）的字母在一起（例如b和f），或者只有h或w，则删除其他的，只保留1个； <br />
只返回前4个字节，不够用0填充 <br />
例如：SELECT SOUNDEX('dog'),soundex('boy') FROM DUAL; <br />
<br />
10、SUBSTR(c1,n1[,n2]) 截取指定长度的字符串。稍不注意就可能充满了陷阱的函数。 <br />
n1=开始长度； <br />
n2=截取的字符串长度，如果为空，默认截取到字符串结尾； <br />
 如果n1=0 then n1=1 <br />
 如果n1&gt;0，则oracle从左向右确认起始位置截取 <br />
例如：SELECT SUBSTR('What is this',5,3) FROM DUAL; <br />
 如果n1&lt;0，则oracle从右向左数确认起始位置 <br />
例如：SELECT SUBSTR('What is this',-5,3) FROM DUAL; <br />
 如果n1&gt;c1.length则返回空 <br />
例如：SELECT SUBSTR('What is this',50,3) FROM DUAL; <br />
然后再请你猜猜，如果n2&lt;1，会如何返回值呢 <br />
<br />
11、
TRANSLATE(c1,c2,c3)
就功能而言，此函数与replace有些相似。但需要注意的一点是，translate是绝对匹配替换，这点与replace函数具有非常大区别。什么是绝对匹配替换呢？简单的说，是将字符串c1中按一定的格式c2替换为c3。如果文字形容仍然无法理解，我们通过几具实例来说明： <br />
例如： <br />
SELECT TRANSLATE('What is this','','-') FROM DUAL; <br />
SELECT TRANSLATE('What is this','-','') FROM DUAL; <br />
结果都是空。来试试这个： <br />
SELECT TRANSLATE('What is this',' ',' ') FROM DUAL; <br />
再来看这个： <br />
SELECT TRANSLATE('What is this','ait','-*') FROM DUAL; <br />
是否明白了点呢？Replace函数理解比较简单，它是将字符串中指定字符替换成其它字符，它的字符必须是连续的。而translate中，则是指定字符串
c1中出现的c2，将c2中各个字符替换成c3中位置顺序与其相同的c3中的字符。明白了？Replace是替换，而translate则像是过滤</p>
<p>(三).字符型函数返回数字值(Character Functions Returning Number Values) <br />
本类函数支持所有的数据类型 <br />
<br />
1、INSTR(c1,c2[,n1[,n2]]) 返回c2在c1中位置 <br />
c1:原字符串 <br />
c2:要寻找的字符串 <br />
n1:查询起始位置，正值表示从左到右，负值表示从右到左 (大小表示位置,比如3表示左面第3处开始,-3表示右面第3处开始)。黑黑，如果为0的话，则返回的也是0 <br />
n2:第几个匹配项。大于0 <br />
例如：SELECT INSTR('abcdefg','e',-3) FROM DUAL; <br />
<br />
2、LENGTH(c) 返回指定字符串的长度。如果 <br />
例如：SELECT LENGTH('A123中') FROM DUAL; <br />
猜猜SELECT LENGTH('') FROM DUAL;的返回值是什么 <br />
<br />
(四).日期函数(Datetime Functions) <br />
本类函数中，除months_between返回数值外，其它都将返回日期。 <br />
<br />
1、ADD_MONTHS() 返回指定日期月份+n之后的值，n可以为任何整数。 <br />
例如：SELECT ADD_MONTHS(sysdate,12),ADD_MONTHS(sysdate,-12) FROM DUAL; <br />
<br />
2、CURRENT_DATE 返回当前session所在时区的默认时间 <br />
例如： <br />
SQL&gt; alter session set nls_date_format = 'mm-dd-yyyy' ; <br />
SQL&gt; select current_date from dual; <br />
<br />
3、
SYSDATE
功能与上相同，返回当前session所在时区的默认时间。但是需要注意的一点是，如果同时使用sysdate与current_date获得的时间不一
定相同，某些情况下current_date会比sysdate快一秒。经过与xyf_tck(兄台的大作ORACLE的工作机制写的很好，深入浅出)的
短暂交流，我们认为current_date是将current_timestamp中毫秒四舍五入后的返回，虽然没有找到文档支持，但是想来应该八九不
离十。同时，仅是某些情况下会有一秒的误差，一般情况下并不会对你的操作造成影响，所以了解即可。 <br />
例如：SELECT SYSDATE,CURRENT_DATE FROM DUAL; <br />
<br />
4、LAST_DAY(d) 返回指定时间所在月的最后一天 <br />
例如：SELECT last_day(SYSDATE) FROM DUAL; <br />
<br />
5、NEXT_DAY(d,n) 返回指定日期后第一个n的日期，n为一周中的某一天。但是，需要注意的是n如果为字符的话，它的星期形式需要与当前session默认时区中的星期形式相同。 <br />
例如：三思用的中文nt，nls_language值为SIMPLIFIED CHINESE <br />
SELECT NEXT_DAY(SYSDATE,5) FROM DUAL; <br />
SELECT NEXT_DAY(SYSDATE,'星期四') FROM DUAL; <br />
两种方式都可以取到正确的返回，但是： <br />
SELECT NEXT_DAY(SYSDATE,'Thursday') FROM DUAL; <br />
则会执行出错，提供你说周中的日无效，就是这个原因了。 <br />
<br />
6、MONTHS_BETWEEN(d1,d2) 返回d1与d2间的月份差，视d1,d2的值大小，结果可正可负，当然也有可能为0 <br />
例如： <br />
SELECT months_between(SYSDATE, sysdate), <br />
months_between(SYSDATE, add_months(sysdate, -1)), <br />
months_between(SYSDATE, add_months(sysdate, 1)) <br />
FROM DUAL; <br />
<br />
7、ROUND(d[,fmt]) 前面讲数值型函数的时候介绍过ROUND，此处与上功能基本相似，不过此处操作的是日期。如果不指定fmt参数，则默认返回距离指定日期最近的日期。 <br />
例如：SELECT ROUND(SYSDATE,'HH24') FROM DUAL; <br />
<br />
8、TRUNC(d[,fmt]) 与前面介绍的数值型TRUNC原理相同，不过此处也是操作的日期型。 <br />
例如：SELECT TRUNC(SYSDATE,'HH24') FROM DUAL; <br />
<br />
(五).转换函数(Conversion Functions) <br />
转换函数将指定字符从一种类型转换为另一种，通常这类函数遵循如下惯例：函数名称后面跟着待转换类型以及输出类型。 <br />
<br />
1、TO_CHAR() 本函数又可以分三小类，分别是 <br />
转换字符-&gt;字符TO_CHAR(c)：将nchar,nvarchar2,clob,nclob类型转换为char类型； <br />
例如：SELECT TO_CHAR('AABBCC') FROM DUAL; <br />
<br />
转换时间-&gt;字符TO_CHAR(d[,fmt])：将指定的时间(data,timestamp,timestamp with time zone)按照指定格式转换为varchar2类型； <br />
例如：SELECT TO_CHAR(sysdate,'yyyy-mm-dd hh24:mi:ss') FROM DUAL; <br />
<br />
转换数值-&gt;字符TO_CHAR(n[,fmt])：将指定数值n按照指定格式fmt转换为varchar2类型并返回； <br />
例如：SELECT TO_CHAR(-100, 'L99G999D99MI') FROM DUAL; <br />
<br />
2、
TO_DATE(c[,fmt[,nls]])
将char,nchar,varchar2,nvarchar2转换为日期类型，如果fmt参数不为空，则按照fmt中指定格式进行转换。注意这里的
fmt参数。如果ftm为'J'则表示按照公元制(Julian day)转换，c则必须为大于0并小于5373484的正整数。 <br />
例如： <br />
SELECT TO_DATE(2454336, 'J') FROM DUAL; <br />
SELECT TO_DATE('2007-8-23 23:25:00', 'yyyy-mm-dd hh24:mi:ss') FROM DUAL; <br />
<br />
为什么公元制的话，c的值必须不大于5373484呢？因为Oracle的DATE类型的取值范围是公元前4712年1月1日至公元9999年12月31日。看看下面这个语句： <br />
SELECT TO_CHAR(TO_DATE('9999-12-31','yyyy-mm-dd'),'j') FROM DUAL; <br />
<br />
3、TO_NUMBER(c[,fmt[,nls]]) 将char,nchar,varchar2,nvarchar2型字串按照fmt中指定格式转换为数值类型并返回。 <br />
例如：SELECT TO_NUMBER('-100.00', '9G999D99') FROM DUAL; <br />
<br />
(六).其它辅助函数(Miscellaneous Single-Row Functions) <br />
<br />
1、DECODE(exp,s1,r1,s2,r2..s,r[,def]) 可以把它理解成一个增强型的if else，只不过它并不通过多行语句，而是在一个函数内实现if else的功能。 <br />
exp做为初始参数。s做为对比值，相同则返回r，如果s有多个，则持续遍历所有s，直到某个条件为真为止，否则返回默认值def(如果指定了的话)，如果没有默认值，并且前面的对比也都没有为真，则返回空。 <br />
毫无疑问，decode是个非常重要的函数，在实现行转列等功能时都会用到，需要牢记和熟练使用。 <br />
<br />
例如：select decode('a2','a1','true1','a2','true2','default') from dual; <br />
<br />
2、GREATEST(n1,n2,...n) 返回序列中的最大值 <br />
例如：SELECT GREATEST(15,5,75,8) "Greatest" FROM DUAL; <br />
<br />
3、LEAST(n1,n2....n) 返回序列中的最小值 <br />
例如：SELECT LEAST(15,5,75,8) LEAST FROM DUAL; <br />
<br />
4、NULLIF(c1,c2) <br />
Nullif也是个很有意思的函数。逻辑等价于：CASE WHEN c1 = c2 THEN NULL ELSE c1 END <br />
例如：SELECT NULLIF('a','b'),NULLIF('a','a') FROM DUAL; <br />
<br />
5、NVL(c1,c2) 逻辑等价于IF c1 is null THEN c2 ELSE c1 END。c1,c2可以是任何类型。如果两者类型不同，则oracle会自动将c2转换为c1的类型。 <br />
例如：SELECT NVL(null, '12') FROM DUAL; <br />
<br />
6、NVL2(c1,c2,c3) 大家可能都用到nvl，但你用过nvl2吗？如果c1非空则返回c2,如果c1为空则返回c3 <br />
例如：select nvl2('a', 'b', 'c') isNull,nvl2(null, 'b', 'c') isNotNull from dual; <br />
<br />
7、SYS_CONNECT_BY_PATH(col,c) 该函数只能应用于树状查询。返回通过c1连接的从根到节点的路径。该函数必须与connect by 子句共同使用。 <br />
例如： <br />
create table tmp3( <br />
rootcol varchar2(10), <br />
nodecol varchar2(10) <br />
); <br />
<br />
insert into tmp3 values ('','a001'); <br />
insert into tmp3 values ('','b001'); <br />
insert into tmp3 values ('a001','a002'); <br />
insert into tmp3 values ('a002','a004'); <br />
insert into tmp3 values ('a001','a003'); <br />
insert into tmp3 values ('a003','a005'); <br />
insert into tmp3 values ('a005','a008'); <br />
insert into tmp3 values ('b001','b003'); <br />
insert into tmp3 values ('b003','b005'); <br />
<br />
select lpad(' ', level*10,'=') ||'&gt;'|| sys_connect_by_path(nodecol,'/') <br />
from tmp3 <br />
start with rootcol = 'a001' <br />
connect by prior nodecol =rootcol; <br />
<br />
8、SYS_CONTEXT(c1,c2[,n]) 将指定命名空间c1的指定参数c2的值按照指定长度n截取后返回。 <br />
Oracle9i提供内置了一个命名空间USERENV，描述了当前session的各项信息，其拥有下列参数： <br />
 CURRENT_SCHEMA:当前模式名； <br />
 CURRENT_USER:当前用户； <br />
 IP_ADDRESS:当前客户端IP地址； <br />
 OS_USER:当前客户端<a href="http://product.it168.com/list/b/0501_1.shtml" title="操作系统" target="_blank" style="color: #000000;">操作系统</a>用户； <br />
等等数十项，更详细的参数列还请大家直接参考Oracle Online Documents <br />
<br />
例如：SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') FROM DUAL; <br />
注：N表示数字型，C表示字符型，D表示日期型，[]表示内中参数可被忽略，fmt表示格式。 <br />
<br />
单值函数在查询中返回单个值，可被应用到select，where子句，start with以及connect by 子句和having子句。 <br />
(一).数值型函数(Number Functions) <br />
数
值型函数输入数字型参数并返回数值型的值。多数该类函数的返回值支持38位小数点，诸如：COS, COSH, EXP, LN, LOG, SIN,
SINH, SQRT, TAN, and TANH 支持36位小数点。ACOS, ASIN, ATAN, and ATAN2支持30位小数点。
<br />
<br />
1、ABS(n) 返回数字的绝对值 <br />
例如：SELECT ABS(-1000000.01) FROM DUAL; <br />
<br />
2、COS(n) 返回n的余弦值 <br />
例如：SELECT COS(-2) FROM DUAL; <br />
<br />
3、ACOS(n) 反余弦函数，n between -1 and 1，返回值between 0 and pi。 <br />
例如：SELECT ACOS(0.9) FROM DUAL; <br />
<br />
4、BITAND(n1,n2) 位与运算，这个太有意思了，虽然没想到可能用到哪里，详细说明一下： <br />
假设3,9做位与运算，3的二进制形式为：0011，9的二进制形式为：1001，则结果是0001，转换成10进制数为1。 <br />
例如：SELECT BITAND(3,9) FROM DUAL; <br />
<br />
5、CEIL(n) 返回大于或等于n的最小的整数值 <br />
例如：SELECT ceil(18.2) FROM DUAL; <br />
考你一下，猜猜ceil(-18.2)的值会是什么呢 <br />
<br />
6、FLOOR(n) 返回小于等于n的最大整数值 <br />
例如：SELECT FLOOR(2.2) FROM DUAL; <br />
再猜猜floor(-2.2)的值会是什么呢 <br />
<br />
7、BIN_TO_NUM(n1,n2,....n) 二进制转向十进制 <br />
例如：SELECT BIN_TO_NUM(1),BIN_TO_NUM(1,0),BIN_TO_NUM(1,1) FROM DUAL; <br />
<br />
8、SIN(n) 返回n的正玄值,n为弧度。 <br />
例如：SELECT SIN(10) FROM DUAL; <br />
<br />
9、SINH(n) 返回n的双曲正玄值,n为弧度。 <br />
例如：SELECT SINH(10) FROM DUAL; <br />
<br />
10、ASIN(n) 反正玄函数，n between -1 and 1，返回值between pi/2 and -pi/2。 <br />
例如：SELECT ASIN(0.8) FROM DUAL; <br />
<br />
11、TAN(n) 返回n的正切值,n为弧度 <br />
例如：SELECT TAN(0.8) FROM DUAL; <br />
<br />
12、TANH(n) 返回n的双曲正切值,n为弧度 <br />
例如：SELECT TANH(0.8) FROM DUAL; <br />
<br />
13、ATAN(n) 反正切函数，n表示弧度，返回值between pi/2 and -pi/2。 <br />
例如：SELECT ATAN(-444444.9999999) FROM DUAL; <br />
<br />
14、EXP(n) 返回e的n次幂，e = 2.71828183 ... <br />
例如：SELECT EXP(3) FROM DUAL; <br />
<br />
15、LN(n) 返回n的自然对数，n&gt;0 <br />
例如：SELECT LN(0.9) FROM DUAL; <br />
<br />
16、LOG(n1,n2) 返回以n1为底n2的对数，n1 &gt;0 and not 1 ，n2&gt;0 <br />
例如：SELECT LOG(1.1,2.2) FROM DUAL; <br />
<br />
17、POWER(n1,n2) 返回n1的n2次方。n1,n2可以为任意数值，不过如果m是负数，则n必须为整数 <br />
例如：SELECT POWER(2.2,2.2) FROM DUAL; <br />
<br />
18、SIGN(n) 如果n&lt;0返回-1,如果n&gt;0返回1，如果n=0返回0. <br />
例如：SELECT SIGN(14),SIGN(-14),SIGN(0) FROM DUAL; <br />
<br />
19、SQRT(n) 返回n的平方根,n为弧度。n&gt;=0 <br />
例如：SELECT SQRT(0.1) FROM DUAL; <br />
<br />
(二).字符型函数返回字符值(Character Functions Returning Character Values) <br />
该类函数返回与输入类型相同的类型。 <br />
 返回的CHAR类型值长度不超过2000字节； <br />
 返回的VCHAR2类型值长度不超过4000字节； <br />
如果上述应返回的字符长度超出，oracle并不会报错而是直接截断至最大可支持长度返回。 <br />
<br />
 返回的CLOB类型值长度不超过4G； <br />
对于CLOB类型的函数，如果返回值长度超出，oracle不会返回任何错误而是直接抛出错误。 <br />
<br />
1、CHR(N[ USING NCHAR_CS]) 返回指定数值在当前字符集中对应的字符 <br />
例如：SELECT CHR(95) FROM DUAL; <br />
<br />
2、CONCAT(c1,c2) 连接字符串，等同于|| <br />
例如：SELECT concat('aa','bb') FROM DUAL; <br />
<br />
3、INITCAP(c) 将字符串中单词的第一个字母转换为大写，其它则转换为小写 <br />
例如：SELECT INITCAP('whaT is this') FROM DUAL; <br />
<br />
4、NLS_INITCAP(c) 返回指定字符串，并将字符串中第一个字母变大写，其它字母变小写 <br />
例如：SELECT NLS_INITCAP('中华miNZHu') FROM DUAL; <br />
它还具有一个参数：Nlsparam用来指定排序规则，可以忽略，默认状态该参数为当前session的排序规则。 <br />
<br />
(三).字符型函数返回数字值(Character Functions Returning Number Values) <br />
本类函数支持所有的数据类型 <br />
1、ASCII(c) 与chr函数的用途刚刚相反，本函数返回指定字符在当前字符集下对应的数值。 <br />
例如：SELECT ASCII('_') FROM DUAL; <br />
<br />
(四).日期函数(Datetime Functions) <br />
本类函数中，除months_between返回数值外，其它都将返回日期。 <br />
1、CURRENT_TIMESTAMP([n]) 返回当前session所在时区的日期和时间。n表示毫秒级的精度，不大于6 <br />
例如：SELECT CURRENT_TIMESTAMP(3) FROM DUAL; <br />
<br />
2、LOCALTIMESTAMP([n]) 与上同，返回当前session所在时区的日期和时间。n表示毫秒级的精度，不大于6 <br />
例如：SELECT LOCALTIMESTAMP(3) FROM DUAL; <br />
<br />
3、SYSTIMESTAMP([n]) 与上同，返回当前数据库所在时区的日期和时间，n表示毫秒级的精度，&gt;0 and &lt;6 <br />
例如：SELECT SYSTIMESTAMP(4) FROM DUAL; <br />
<br />
4、DBTIMEZONE 返回数据库的当前时区 <br />
例如：SELECT DBTIMEZONE FROM DUAL; <br />
<br />
5、SESSIONTIMEZONE 返回当前session所在时区 <br />
例如：SELECT SESSIONTIMEZONE FROM DUAL; <br />
<br />
6、EXTRACT(key from date) key=(year,month,day,hour,minute,second) 从指定时间提到指定日期列 <br />
例如：SELECT EXTRACT(year from sysdate) FROM DUAL; <br />
<br />
7、TO_TIMESTAMP(c1[,fmt]) 将指定字符按指定格式转换为timestamp格式。 <br />
例如：SELECT TO_TIMESTAMP('2007-8-22', 'YYYY-MM-DD HH:MI:SS') FROM DUAL; <br />
<br />
(五).转换函数(Conversion Functions) <br />
转换函数将指定字符从一种类型转换为另一种，通常这类函数遵循如下惯例：函数名称后面跟着待转换类型以及输出类型。 <br />
<br />
1、BIN_TO_NUM(n1,n2...n) 将一组位向量转换为等价的十进制形式。 <br />
例如：SELECT BIN_TO_NUM(1,1,0) FROM DUAL; <br />
<br />
2、CAST(c as newtype) 将指定字串转换为指定类型，基本只对字符类型有效，比如char,number,date,rowid等。此类转换有一个专门的表列明了哪种类型可以转换为哪种类型，此处就不作酹述。 <br />
例如：SELECT CAST('1101' AS NUMBER(5)) FROM DUAL; <br />
<br />
3、CHARTOROWID(c) 将字符串转换为rowid类型 <br />
例如：SELECT CHARTOROWID('A003D1ABBEFAABSAA0') FROM DUAL; <br />
<br />
4、ROWIDTOCHAR(rowid) 转换rowid值为varchar2类型。返回串长度为18个字节。 <br />
例如：SELECT ROWIDTOCHAR(rowid) FROM DUAL; <br />
<br />
5、TO_MULTI_BYTE(c) 将指定字符转换为全角并返回char类型字串 <br />
例如：SELECT TO_MULTI_BYTE('ABC abc　中华') FROM DUAL; <br />
<br />
6、TO_SINGLE_BYTE(c) 将指定字符转换为半角并返回char类型字串 <br />
例如：SELECT TO_SINGLE_BYTE('ＡＢＣ　ａｂｃ中华') FROM DUAL; <br />
<br />
(六).其它辅助函数(Miscellaneous Single-Row Functions) <br />
1、COALESCE(n1,n2,....n) 返回序列中的第一个非空值 <br />
例如：SELECT COALESCE(null,5,6,null,9) FROM DUAL; <br />
<br />
2、DUMP(exp[,fmt[,start[,length]]]) <br />
&nbsp;&nbsp;&nbsp; dump是个功能非常强悍的函数，对于深入了解oracle<span style="color: #000000;">存储</span>的人而言相当有用。所以对于我们这些仅仅只是应用的人而言就不知道能将其应用于何处了。此处仅介绍用法，不对其功能做深入分析。<br />
<br />
&nbsp;&nbsp;&nbsp;
如上所示，dump拥有不少参数。其本质是以指定格式，返回指定长度的exp的内部表示形式的varchar2值。fmt含4种格
式：8||10||16||17，分别表示8进制，10进制，16进制和单字符，默认为10进制。start参数表示开始位置，length表示以,分隔
的字串数。 <br />
例如：SELECT DUMP('abcdefg',17,2,4) FROM DUAL; <br />
<br />
3、EMPTY_BLOB,EMPTY_CLOB 这两个函数都是返回空lob类型，通常被用于insert和update等语句以初始化lob列，或者将其置为空。EMPTY表示LOB已经被初始化，只不过还没有用来存储数据。 <br />
<br />
4、NLS_CHARSET_NAME(n) 返回指定数值对应的字符集名称。 <br />
例如：SELECT NLS_CHARSET_NAME(1) FROM DUAL; <br />
<br />
5、NLS_CHARSET_ID(c) 返回指定字符对应的字符集id。 <br />
例如：SELECT NLS_CHARSET_ID('US7ASCII') FROM DUAL; <br />
<br />
6、NLS_CHARSET_DECL_LEN(n1,n2) 返回一个NCHAR值的声明宽度(以字符为单位).n1是该值以字节为单位的长度，n2是该值的字符集ID <br />
例如：SELECT NLS_CHARSET_DECL_LEN(100, nls_charset_id('US7ASCII')) FROM DUAL; <br />
<br />
7、SYS_EXTRACT_UTC(timestamp) 返回标准通用时间即格林威治时间。 <br />
例如：SELECT SYS_EXTRACT_UTC(current_timestamp) FROM DUAL; <br />
<br />
8、SYS_TYPEID(object_type) 返回对象类型对应的id。 <br />
例如：这个这个，没有建立过自定义对象，咋做示例？ <br />
<br />
9、UID 返回一个唯一标识当前数据库用户的整数。 <br />
例如：SELECT UID FROM DUAL; <br />
<br />
10、USER 返回当前session用户 <br />
例如：SELECT USER FROM DUAL; <br />
<br />
11、USERENV(c) 该函数用来返回当前session的信息，据oracle文档的说明，userenv是为了保持向下兼容的遗留函数。oracle公司推荐你使用sys_context函数调用USERENV命名空间来获取相关信息，所以大家了解下就行了。 <br />
例如：SELECT USERENV('LANGUAGE') FROM DUAL; <br />
<br />
12、VSIZE(c) 返回c的字节数。 <br />
例如：SELECT VSIZE('abc中华') FROM DUAL;</p>
</div>
<br />
<img src ="http://www.blogjava.net/haiing/aggbug/246264.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haiing/" target="_blank">轧钢王子</a> 2008-12-14 20:12 <a href="http://www.blogjava.net/haiing/archive/2008/12/14/246264.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>literal does not match format string</title><link>http://www.blogjava.net/haiing/archive/2008/12/14/246261.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Sun, 14 Dec 2008 11:44:00 GMT</pubDate><guid>http://www.blogjava.net/haiing/archive/2008/12/14/246261.html</guid><wfw:comment>http://www.blogjava.net/haiing/comments/246261.html</wfw:comment><comments>http://www.blogjava.net/haiing/archive/2008/12/14/246261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haiing/comments/commentRss/246261.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haiing/services/trackbacks/246261.html</trackback:ping><description><![CDATA[把字符串赋值给日期型，解决：先把字符串转换成日期型再赋值如：where c.pbeg_date &gt;= to_date('2007-11-12','yyyy
- MM - DD') and c.pbeg_date &lt;= to_date('2007-12-12','yyyy -MM - DD')
<img src ="http://www.blogjava.net/haiing/aggbug/246261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haiing/" target="_blank">轧钢王子</a> 2008-12-14 19:44 <a href="http://www.blogjava.net/haiing/archive/2008/12/14/246261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>收集的关于ERP论坛的站点</title><link>http://www.blogjava.net/haiing/archive/2008/12/14/246260.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Sun, 14 Dec 2008 11:40:00 GMT</pubDate><guid>http://www.blogjava.net/haiing/archive/2008/12/14/246260.html</guid><wfw:comment>http://www.blogjava.net/haiing/comments/246260.html</wfw:comment><comments>http://www.blogjava.net/haiing/archive/2008/12/14/246260.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haiing/comments/commentRss/246260.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haiing/services/trackbacks/246260.html</trackback:ping><description><![CDATA[<font style="font-size: 12px;">收集的关于ERP论坛的站点。
<table style="width: 98%;" cellspacing="0">
    <tbody>
        <tr>
            <td>序号</td>
            <td>名称</td>
            <td>站点</td>
            <td>说明</td>
        </tr>
        <tr>
            <td>1</td>
            <td>trypub.com技术论坛</td>
            <td><a href="http://www.trypub.com/" target="_blank"><font color="#800080">http://www.trypub.com</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>2</td>
            <td>中国oracle用户讨论组</td>
            <td><a href="http://www.oracle.com.cn/" target="_blank"><font color="#0000ff">http://www.oracle.com.cn</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>3</td>
            <td><strong><font color="red">erp100.COM ERP论坛</font></strong></td>
            <td><a href="http://bbs.erp100.com/" target="_blank"><strong><font color="red">http://bbs.erp100.com</font></strong></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>4</td>
            <td><strong>Oracle Developer 论坛</strong></td>
            <td><a href="http://www.oradev.net/" target="_blank"><font color="#0000ff">http://www.oradev.net</font></a></td>
            <td>开发类性质的论坛</td>
        </tr>
        <tr>
            <td>5</td>
            <td>秋毫ERP咨询</td>
            <td><a href="http://www.qiuhao.com/" target="_blank"><font color="#0000ff">http://www.qiuhao.com</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>6</td>
            <td>中国ERP大全</td>
            <td><a href="http://www.erpxp.com/bbs" target="_blank"><font color="#0000ff">http://www.erpxp.com/bbs</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>7</td>
            <td>ERP信息网论坛</td>
            <td><a href="http://www.erp001.com/bbs/" target="_blank"><font color="#0000ff">http://www.erp001.com/bbs/</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>8</td>
            <td>itpub.net</td>
            <td><a href="http://www.itpub.net/" target="_blank"><font color="#800080">http://www.itpub.net</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>9</td>
            <td>SAP &amp; Oracle论坛</td>
            <td><a href="http://www.shcon.com.cn/" target="_blank"><font color="#0000ff">http://www.shcon.com.cn</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>10</td>
            <td>erp在中国</td>
            <td><a href="http://www.erpcn.net/" target="_blank"><font color="#0000ff">http://www.erpcn.net</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>11</td>
            <td>中国ERP知识库</td>
            <td><a href="http://www.erpkm.com/" target="_blank"><font color="#0000ff">http://www.erpkm.com</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>12</td>
            <td>上海鸿略计算机有限公司</td>
            <td><a href="http://www.wisdom-universe.com/" target="_blank"><font color="#0000ff">http://www.wisdom-universe.com</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>13</td>
            <td>Oracle原创技术论坛</td>
            <td><a href="http://www.oraclebbs.com/" target="_blank"><font color="#0000ff">http://www.oraclebbs.com</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>14</td>
            <td>ＩＴ精英论坛</td>
            <td><a href="http://www.witef.com/" target="_blank"><font color="#0000ff">http://www.witef.com</font></a></td>
            <td><br />
            </td>
        </tr>
        <tr>
            <td>15 </td>
            <td>SOLARIS+ORACLE+ERP&nbsp;&nbsp;</td>
            <td><a href="http://bbs.chinaunix.net/" target="_blank"><font color="#0000ff">http://bbs.chinaunix.net</font></a></td>
        </tr>
    </tbody>
</table>
</font>
<img src ="http://www.blogjava.net/haiing/aggbug/246260.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haiing/" target="_blank">轧钢王子</a> 2008-12-14 19:40 <a href="http://www.blogjava.net/haiing/archive/2008/12/14/246260.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle数据库中null的使用详解</title><link>http://www.blogjava.net/haiing/archive/2008/12/14/246257.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Sun, 14 Dec 2008 11:35:00 GMT</pubDate><guid>http://www.blogjava.net/haiing/archive/2008/12/14/246257.html</guid><wfw:comment>http://www.blogjava.net/haiing/comments/246257.html</wfw:comment><comments>http://www.blogjava.net/haiing/archive/2008/12/14/246257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haiing/comments/commentRss/246257.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haiing/services/trackbacks/246257.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Oracle中的NULL既是一个难点也是一个重点，如何理解它，以及如何处理它，都关系到我们查询结果的正确性。&nbsp;&nbsp;<a href='http://www.blogjava.net/haiing/archive/2008/12/14/246257.html'>阅读全文</a><img src ="http://www.blogjava.net/haiing/aggbug/246257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haiing/" target="_blank">轧钢王子</a> 2008-12-14 19:35 <a href="http://www.blogjava.net/haiing/archive/2008/12/14/246257.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle中Decode()函数 使用技巧</title><link>http://www.blogjava.net/haiing/archive/2008/12/09/245334.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Tue, 09 Dec 2008 13:06:00 GMT</pubDate><guid>http://www.blogjava.net/haiing/archive/2008/12/09/245334.html</guid><wfw:comment>http://www.blogjava.net/haiing/comments/245334.html</wfw:comment><comments>http://www.blogjava.net/haiing/archive/2008/12/09/245334.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haiing/comments/commentRss/245334.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haiing/services/trackbacks/245334.html</trackback:ping><description><![CDATA[<span style="font-size: 14pt;"><span style="font-family: 宋体;">decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)<br />
该函数的含义如下：<br />
IF 条件=值1 THEN<br />
RETURN(翻译值1)<br />
ELSIF 条件=值2 THEN<br />
RETURN(翻译值2)<br />
......<br />
ELSIF 条件=值n THEN<br />
RETURN(翻译值n)<br />
ELSE<br />
RETURN(缺省值)<br />
END IF<br />
&#183; 使用方法：<br />
1、比较大小<br />
select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值<br />
sign()函数根据某个值是0、正数还是负数，分别返回0、1、-1<br />
例如：<br />
变量1=10，变量2=20<br />
则sign(变量1-变量2)返回-1，decode解码结果为&#8220;变量1&#8221;，达到了取较小值的目的。<br />
<br />
<br />
下面的例子说明了，如何读取用户CHECKUP表SEAPARK中的BLOOD_TEST_FLAG列下的项目，作为DECODE函数的实参支持值。
<br />
SELECT checkup_type,
<br />
DECODE(blood_test_flag,&#8217;Y&#8217;,&#8217;Yes&#8217;,&#8217;N&#8217;,&#8217;No&#8217;,NULL,&#8217;None&#8217;,&#8217;Invalid&#8217;) <br />
FROM
checkup;</span></span>
<img src ="http://www.blogjava.net/haiing/aggbug/245334.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haiing/" target="_blank">轧钢王子</a> 2008-12-09 21:06 <a href="http://www.blogjava.net/haiing/archive/2008/12/09/245334.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>误用SQL Server关键字导致的问题</title><link>http://www.blogjava.net/haiing/archive/2008/01/29/178394.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Tue, 29 Jan 2008 10:06:00 GMT</pubDate><guid>http://www.blogjava.net/haiing/archive/2008/01/29/178394.html</guid><wfw:comment>http://www.blogjava.net/haiing/comments/178394.html</wfw:comment><comments>http://www.blogjava.net/haiing/archive/2008/01/29/178394.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haiing/comments/commentRss/178394.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haiing/services/trackbacks/178394.html</trackback:ping><description><![CDATA[&nbsp;
<p><span style="font-size: 12pt; font-family: 宋体">刚才在练习使用</span><span style="font-size: 12pt">Hibernate</span><span style="font-size: 12pt; font-family: 宋体">的复合主键例子时，自己很自信的认为已经领悟了其中的原理，于是开始制作例子程序。恩，想起前段时间确实有个可以利用复合主键的地方，那就是公寓寝室表，于是开始建立数据库表：</span></p>
<p><span style="font-size: 12pt; font-family: 宋体">利用</span><span style="font-size: 12pt">Eclipse</span><span style="font-size: 12pt; font-family: 宋体">自动生成机制，很快就完成了映射文件等的生成，测试一下，却发觉出现错误<br />
</span></p>
<p><span style="font-size: 12pt; font-family: 宋体"></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">WARN&nbsp;No&nbsp;appenders&nbsp;could&nbsp;be&nbsp;found&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;logger&nbsp;(org.hibernate.cfg.Environment).<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />log4j:WARN&nbsp;Please&nbsp;initialize&nbsp;the&nbsp;log4j&nbsp;system&nbsp;properly.<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />Hibernate:&nbsp;insert&nbsp;into&nbsp;HAIING.dbo.DORMROOM&nbsp;(desc,&nbsp;dorm,&nbsp;room)&nbsp;values&nbsp;(</span><span style="color: #000000">?</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">?</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">?</span><span style="color: #000000">)<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />org.hibernate.exception.GenericJDBCException:&nbsp;could&nbsp;not&nbsp;insert:&nbsp;[com.haiing.hibernate.fuhezhujian.DormRoom]<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:</span><span style="color: #000000">82</span><span style="color: #000000">)<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:</span><span style="color: #000000">70</span><span style="color: #000000">)<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:</span><span style="color: #000000">43</span><span style="color: #000000">)<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:</span><span style="color: #000000">1869</span><span style="color: #000000">)<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:</span><span style="color: #000000">2200</span><span style="color: #000000">)<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:</span><span style="color: #000000">46</span><span style="color: #000000">)<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.engine.ActionQueue.execute(ActionQueue.java:</span><span style="color: #000000">239</span><span style="color: #000000">)<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:</span><span style="color: #000000">223</span><span style="color: #000000">)<br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:</span><span style="color: #000000">136</span><span style="color: #000000">)<br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:</span><span style="color: #000000">274</span><span style="color: #000000">)<br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:</span><span style="color: #000000">27</span><span style="color: #000000">)<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.impl.SessionImpl.flush(SessionImpl.java:</span><span style="color: #000000">730</span><span style="color: #000000">)<br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:</span><span style="color: #000000">324</span><span style="color: #000000">)<br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:</span><span style="color: #000000">86</span><span style="color: #000000">)<br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.haiing.hibernate.fuhezhujian.DormRoomOperate.insert(DormRoomOperate.java:</span><span style="color: #000000">26</span><span style="color: #000000">)<br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.haiing.hibernate.fuhezhujian.Test2PK.main(Test2PK.java:</span><span style="color: #000000">19</span><span style="color: #000000">)<br />
</span><span style="color: #008080">40</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">41</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />Caused&nbsp;by:&nbsp;java.sql.SQLException:&nbsp;[Microsoft][SQLServer&nbsp;</span><span style="color: #000000">2000</span><span style="color: #000000">&nbsp;Driver&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;JDBC][SQLServer]在关键字&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">desc</span><span style="color: #000000">'</span><span style="color: #000000">&nbsp;附近有语法错误。<br />
</span><span style="color: #008080">42</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">43</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.base.BaseExceptions.createException(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">44</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">45</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.base.BaseExceptions.getException(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">46</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">47</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">48</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">49</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">50</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">51</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">52</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">53</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">54</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">55</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">56</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">57</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">58</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">59</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">60</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">61</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.base.BasePreparedStatement.postImplExecute(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">62</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">63</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">64</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">65</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.base.BaseStatement.executeUpdateInternal(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">66</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">67</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.microsoft.jdbc.base.BasePreparedStatement.executeUpdate(Unknown&nbsp;Source)<br />
</span><span style="color: #008080">68</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">69</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:</span><span style="color: #000000">22</span><span style="color: #000000">)<br />
</span><span style="color: #008080">70</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">71</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:</span><span style="color: #000000">1853</span><span style="color: #000000">)<br />
</span><span style="color: #008080">72</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">73</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />&nbsp;</span><span style="color: #000000">12</span><span style="color: #000000">&nbsp;more<br />
</span><span style="color: #008080">74</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p><br />
<br />
郁闷了很长时间，开始以为是主键类复写的</span><span style="font-size: 12pt">hash</span><span style="font-size: 12pt; font-family: 宋体">类和</span><span style="font-size: 12pt">equals</span><span style="font-size: 12pt; font-family: 宋体">类有错误，于是使用</span><span style="font-size: 12pt">org.apache.commons.lang</span><span style="font-size: 12pt; font-family: 宋体">中的对应方法重写，可还是不行。端详了很长时间，每一种可能的错误都考虑了，感觉没啥错误了呀！</span></p>
<p><span style="font-size: 12pt; font-family: 宋体">又看了一遍错误的代码，发觉已经生成了</span><span style="font-size: 12pt">HQL</span><span style="font-size: 12pt; font-family: 宋体">语句，而且错误代码几乎全是数据库的问题。数据库的驱动包我已经加进来了，而且在其他的例子中运行很正常呀！莫非是提交语句的错误，看了一下看不出什么来，莫非是数据库的问题？去查看表，发觉有点怪怪的！</span></p>
<p style="text-align: center" align="center"><br />
</p>
<p style="text-indent: 24pt"><span style="font-size: 12pt; font-family: 宋体">这个</span><span style="font-size: 12pt">desc</span><span style="font-size: 12pt; font-family: 宋体">怎么成介个样子了，莫非设置成复合主键之后就成了这个样子，加进一个新的字段没有呀。嘿嘿，那我就删了这个字段，在重新加进来。结果还是不行！</span><span style="font-size: 12pt"><br />
</span><span style="font-size: 12pt; font-family: 宋体">这时我又调整了思路，把生成的</span><span style="font-size: 12pt">SQL</span><span style="font-size: 12pt; font-family: 宋体">语句复制到查询分析器中执行，还是显示&#8220;<span style="color: red">在关键字</span></span><span style="font-size: 12pt; color: red"> 'desc' </span><span style="font-size: 12pt; color: red; font-family: 宋体">附近有语法错误</span><span style="font-size: 12pt; font-family: 宋体">&#8221;，我晕！看来就是数据库的问题了。等等，我突然意识到什么了！</span></p>
<p style="text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体">关键字？</span></p>
<p style="text-indent: 21pt"><span style="font-size: 12pt">desc?</span></p>
<p style="text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体">莫非？不是莫非，就是这样呀，我怎么忘得一干二净了，</span><span style="font-size: 12pt">desc</span><span style="font-size: 12pt; font-family: 宋体">这么好的词汇早就被前辈们定义成关键字了，怎么会留给我来使用呢！</span><span style="font-size: 12pt"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 12pt; font-family: 宋体">改掉</span><span style="font-size: 12pt">desc</span><span style="font-size: 12pt; font-family: 宋体">，一切问题全部解决了，数据成功的插入到数据库之中！</span></p>
<p style="text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体">唉，惭愧呀～</span></p>
<img src ="http://www.blogjava.net/haiing/aggbug/178394.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haiing/" target="_blank">轧钢王子</a> 2008-01-29 18:06 <a href="http://www.blogjava.net/haiing/archive/2008/01/29/178394.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring自学笔记(1)</title><link>http://www.blogjava.net/haiing/archive/2008/01/29/178295.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Tue, 29 Jan 2008 00:19:00 GMT</pubDate><guid>http://www.blogjava.net/haiing/archive/2008/01/29/178295.html</guid><wfw:comment>http://www.blogjava.net/haiing/comments/178295.html</wfw:comment><comments>http://www.blogjava.net/haiing/archive/2008/01/29/178295.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haiing/comments/commentRss/178295.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haiing/services/trackbacks/178295.html</trackback:ping><description><![CDATA[&nbsp;
<p class="MsoNormal" style="text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用了一段时间的公司框架，还没时间认真的坐下来练习一下</span><span lang="EN-US" style="font-size: 12pt">Spring</span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开源框架的基础，真是有些不好意思。刚看完在网上下的关于</span><span lang="EN-US" style="font-size: 12pt">Spring</span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的视频教程，正好练习一下，就以水果作为今天例子程序的主角。</span><span lang="EN-US" style="font-size: 12pt"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打开</span><span lang="EN-US" style="font-size: 12pt">Myeclipse</span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，添加对</span><span lang="EN-US" style="font-size: 12pt">Spring</span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的支持（也不知道这么选行不行，汗～）</span><span lang="EN-US" style="font-size: 12pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt"><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接下来按照默认设置直接点击</span><span lang="EN-US" style="font-size: 12pt">Next</span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，最后点完成即可。项目中生成了传说中功能强大的</span><span lang="EN-US" style="font-size: 12pt">Spring</span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配置文件</span><span lang="EN-US" style="font-size: 12pt">applicationContext.xml</span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，哈哈，亲一个！</span><span lang="EN-US" style="font-size: 12pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">环境设置好了，接下来该编写类文件了。先生成一个</span><span lang="EN-US" style="font-size: 12pt">Fruit</span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口：<br />
</span><span lang="EN-US" style="font-size: 12pt"><o:p><br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.haiing.myspring;<br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">interface</span><span style="color: #000000">&nbsp;Fruit&nbsp;<br />
</span><span style="color: #008080">4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">5</span><span style="color: #000000"><img id="Codehighlighter1_55_96_Open_Image" onclick="this.style.display='none'; Codehighlighter1_55_96_Open_Text.style.display='none'; Codehighlighter1_55_96_Closed_Image.style.display='inline'; Codehighlighter1_55_96_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_55_96_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_55_96_Closed_Text.style.display='none'; Codehighlighter1_55_96_Open_Image.style.display='inline'; Codehighlighter1_55_96_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_55_96_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_55_96_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">吃水果</span><span style="color: #008000"><br />
</span><span style="color: #008080">7</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;eat();<br />
</span><span style="color: #008080">8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p class="MsoNormal"></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接着编写实现此接口的类文件：<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.haiing.myspring;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img id="Codehighlighter1_66_180_Open_Image" onclick="this.style.display='none'; Codehighlighter1_66_180_Open_Text.style.display='none'; Codehighlighter1_66_180_Closed_Image.style.display='inline'; Codehighlighter1_66_180_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_66_180_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_66_180_Closed_Text.style.display='none'; Codehighlighter1_66_180_Open_Image.style.display='inline'; Codehighlighter1_66_180_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Apple&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;Fruit&nbsp;</span><span id="Codehighlighter1_66_180_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_66_180_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img id="Codehighlighter1_89_177_Open_Image" onclick="this.style.display='none'; Codehighlighter1_89_177_Open_Text.style.display='none'; Codehighlighter1_89_177_Closed_Image.style.display='inline'; Codehighlighter1_89_177_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_89_177_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_89_177_Closed_Text.style.display='none'; Codehighlighter1_89_177_Open_Image.style.display='inline'; Codehighlighter1_89_177_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;eat()&nbsp;</span><span id="Codehighlighter1_89_177_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_89_177_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;吃苹果</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">我要吃苹果了～～～</span><span style="color: #000000">"</span><span style="color: #000000">)&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p class="MsoNormal"><br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.haiing.myspring;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;potato&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;Fruit&nbsp;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img id="Codehighlighter1_68_185_Open_Image" onclick="this.style.display='none'; Codehighlighter1_68_185_Open_Text.style.display='none'; Codehighlighter1_68_185_Closed_Image.style.display='inline'; Codehighlighter1_68_185_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_68_185_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_68_185_Closed_Text.style.display='none'; Codehighlighter1_68_185_Open_Image.style.display='inline'; Codehighlighter1_68_185_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_68_185_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_68_185_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;eat()&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img id="Codehighlighter1_103_183_Open_Image" onclick="this.style.display='none'; Codehighlighter1_103_183_Open_Text.style.display='none'; Codehighlighter1_103_183_Closed_Image.style.display='inline'; Codehighlighter1_103_183_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_103_183_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_103_183_Closed_Text.style.display='none'; Codehighlighter1_103_183_Open_Image.style.display='inline'; Codehighlighter1_103_183_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_103_183_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_103_183_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;吃西红柿</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">我要吃西红柿了～～～</span><span style="color: #000000">"</span><span style="color: #000000">)&nbsp;;<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p class="MsoNormal"><br />
</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt"><span style="mso-tab-count: 1"></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.haiing.myspring;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img id="Codehighlighter1_67_179_Open_Image" onclick="this.style.display='none'; Codehighlighter1_67_179_Open_Text.style.display='none'; Codehighlighter1_67_179_Closed_Image.style.display='inline'; Codehighlighter1_67_179_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_67_179_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_67_179_Closed_Text.style.display='none'; Codehighlighter1_67_179_Open_Image.style.display='inline'; Codehighlighter1_67_179_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Orange&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;Fruit&nbsp;</span><span id="Codehighlighter1_67_179_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_67_179_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img id="Codehighlighter1_95_176_Open_Image" onclick="this.style.display='none'; Codehighlighter1_95_176_Open_Text.style.display='none'; Codehighlighter1_95_176_Closed_Image.style.display='inline'; Codehighlighter1_95_176_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_95_176_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_95_176_Closed_Text.style.display='none'; Codehighlighter1_95_176_Open_Image.style.display='inline'; Codehighlighter1_95_176_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;eat()&nbsp;</span><span id="Codehighlighter1_95_176_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_95_176_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;吃橘子</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">我要吃橘子了～～～</span><span style="color: #000000">"</span><span style="color: #000000">)&nbsp;;<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p class="MsoNormal"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口文件写好了，现在要写测试类和配置</span><span lang="EN-US" style="font-size: 12pt">Spring</span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件了。</span><span lang="EN-US" style="font-size: 12pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置</span><span lang="EN-US" style="font-size: 12pt">applicationContext.xml</span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配置文件如下：</span><span lang="EN-US" style="font-size: 12pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt"><span style="mso-tab-count: 1"></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE&nbsp;beans&nbsp;PUBLIC&nbsp;"-//SPRING//DTD&nbsp;BEAN//EN"&nbsp;"http://www.springframework.org/dtd/spring-beans.dtd"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">beans</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="apple"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="com.haiing.myspring.Apple"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="potato"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="com.haiing.myspring.Potato"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="orange"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="com.haiing.myspring.Orange"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">beans</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p class="MsoNormal"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编写一个测试类文件：</span><span lang="EN-US" style="font-size: 12pt"><br style="mso-special-character: line-break" />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.haiing.myspring;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.springframework.context.ApplicationContext;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.springframework.context.support.ClassPathXmlApplicationContext;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestFruit&nbsp;<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img id="Codehighlighter1_187_498_Open_Image" onclick="this.style.display='none'; Codehighlighter1_187_498_Open_Text.style.display='none'; Codehighlighter1_187_498_Closed_Image.style.display='inline'; Codehighlighter1_187_498_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_187_498_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_187_498_Closed_Text.style.display='none'; Codehighlighter1_187_498_Open_Image.style.display='inline'; Codehighlighter1_187_498_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_187_498_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_187_498_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img id="Codehighlighter1_242_496_Open_Image" onclick="this.style.display='none'; Codehighlighter1_242_496_Open_Text.style.display='none'; Codehighlighter1_242_496_Closed_Image.style.display='inline'; Codehighlighter1_242_496_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_242_496_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_242_496_Closed_Text.style.display='none'; Codehighlighter1_242_496_Open_Image.style.display='inline'; Codehighlighter1_242_496_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_242_496_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_242_496_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ApplicationContext&nbsp;context&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;;<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ClassPathXmlApplicationContext(</span><span style="color: #000000">"</span><span style="color: #000000">applicationContext.xml</span><span style="color: #000000">"</span><span style="color: #000000">)&nbsp;;<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fruit&nbsp;fruit&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(Fruit)context.getBean(</span><span style="color: #000000">"</span><span style="color: #000000">orange</span><span style="color: #000000">"</span><span style="color: #000000">)&nbsp;;&nbsp;<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fruit.eat()&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p class="MsoNormal"></span>&nbsp;</p>
<p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在可以开始测试效果了，运行测试类，在控制台输出：</span><span lang="EN-US" style="font-size: 12pt"><o:p></o:p></span></p>
<table class="MsoTableGrid" style="border-right: medium none; border-top: medium none; margin-left: 5.4pt; border-left: medium none; border-bottom: medium none; border-collapse: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellspacing="0" cellpadding="0" border="1">
    <tbody>
        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 420.7pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt" valign="top" width="561">
            <p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span style="font-size: 10pt; background: white; color: black; font-family: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white; mso-bidi-font-family: 'Courier New'">我要吃苹果了～～～</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New'; mso-font-kerning: 0pt"><o:p></o:p></span></p>
            <p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 10pt; background: white; color: red; font-family: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">log4j:WARN No appenders could be found for logger (org.springframework.beans.factory.xml.XmlBeanDefinitionReader).</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New'; mso-font-kerning: 0pt"><o:p></o:p></span></p>
            <p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; background: white; color: red; font-family: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">log4j:WARN Please initialize the log4j system properly.</span></p>
            </td>
        </tr>
    </tbody>
</table>
<p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">大功告成，下面红字提示是因为没有设置日志。这样，在苹果涨价之后，我们就可以方便的修改测试文件，换成其他的水果，照吃不误了～</span><span lang="EN-US" style="font-size: 12pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不过话又说回来了，换归换，吃其他的东西可是吃不出苹果的味道呀</span><span lang="EN-US" style="font-size: 12pt"><o:p></o:p></span></p>
<img src ="http://www.blogjava.net/haiing/aggbug/178295.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haiing/" target="_blank">轧钢王子</a> 2008-01-29 08:19 <a href="http://www.blogjava.net/haiing/archive/2008/01/29/178295.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Hibernate中使用oracle的sequence产生主键</title><link>http://www.blogjava.net/haiing/archive/2008/01/16/175736.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Wed, 16 Jan 2008 09:49:00 GMT</pubDate><guid>http://www.blogjava.net/haiing/archive/2008/01/16/175736.html</guid><wfw:comment>http://www.blogjava.net/haiing/comments/175736.html</wfw:comment><comments>http://www.blogjava.net/haiing/archive/2008/01/16/175736.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haiing/comments/commentRss/175736.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haiing/services/trackbacks/175736.html</trackback:ping><description><![CDATA[&nbsp;<span lang="EN-US" style="font-size: 12pt; color: black; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">&nbsp;&nbsp;&nbsp;</span><span style="font-size: 12pt; color: black; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">刚刚接触<span lang="EN-US">Hibernate</span>不长时间，今天想动手做一个小例子，数据库使用的是<span lang="EN-US">Oracle</span>。打算使用<span lang="EN-US">Oracle</span>中的序列作为表的主键，却不知道使用<span lang="EN-US">Hibernate</span>如何与其关联在一起。请教同事，被告知要使用诸如<span lang="EN-US">select</span>语句进行查询&#8220;</span><span lang="EN-US">select &nbsp; sequence.nextval &nbsp; from &nbsp; dual</span><span style="font-size: 12pt; color: black; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">&#8221;，晕倒～<span lang="EN-US"><o:p></o:p></span></span>
<p class="MsoNormal" style="text-indent: 21pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">终于等到中午，上网去查资料。得解：<span lang="EN-US"><br />
&nbsp;&nbsp;&nbsp;1</span>、在<span lang="EN-US">oracle </span>首先创建<span lang="EN-US">sequence<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;sequence&nbsp;seq_id<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;minvalue&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;increment&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cache&nbsp;</span><span style="font-weight: bold; color: #800000">20</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p class="MsoNormal" style="text-indent: 21pt; text-align: left; mso-pagination: widow-orphan" align="left"></span></span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">&nbsp;&nbsp;&nbsp;2.</span><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">在你的<span lang="EN-US">hbm.xml</span>中的配置<span lang="EN-US"><br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">id&nbsp;</span><span style="color: #ff0000">column</span><span style="color: #0000ff">="ID0000"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="id"</span><span style="color: #ff0000">&nbsp;type</span><span style="color: #0000ff">="integer"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">generator&nbsp;</span><span style="color: #ff0000">class</span><span style="color: #0000ff">="sequence"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="sequence"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">seq_id</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">generator</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">id</span><span style="color: #0000ff">&gt;</span></div>
<p class="MsoNormal" style="text-indent: 21pt; text-align: left; mso-pagination: widow-orphan" align="left">&nbsp;&nbsp;&nbsp;</span>这样再插入数据的时候，<span lang="EN-US">Hibernate</span>回自动生成如下语句：<span lang="EN-US"><br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hibernate:&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;seq_id.nextval&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hibernate:&nbsp;&nbsp;</span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;YXJK.T_YXJK_WHRYTXL&nbsp;(XM0000,&nbsp;ZW0000,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LXDH00,SJHM00,DZYJ00,IP0000,ID0000)&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">&nbsp;(?,&nbsp;?,&nbsp;?,&nbsp;?,&nbsp;?,&nbsp;?,&nbsp;?)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p class="MsoNormal" style="text-indent: 21pt; text-align: left; mso-pagination: widow-orphan" align="left"></span></span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">&nbsp;&nbsp;&nbsp;</span><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">自动生成下一个序列值，然后将对象插入表中。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这样问题得解！<br />
<span lang="EN-US"><br />
PS：<br />
<span lang="EN-US" style="font-size: 9pt; color: black; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">sequence</span><span style="font-size: 9pt; color: black; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是采用数据库提供的</span><span lang="EN-US" style="font-size: 9pt; color: black; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">sequence</span><span style="font-size: 9pt; color: black; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">机制生成主键。如</span><span lang="EN-US" style="font-size: 9pt; color: black; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">oralce</span><span style="font-size: 9pt; color: black; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的</span><span lang="EN-US" style="font-size: 9pt; color: black; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Sequence<br />
native</span><span style="font-size: 9pt; color: black; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是由</span><span lang="EN-US" style="font-size: 9pt; color: black; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">hibernate</span><span style="font-size: 9pt; color: black; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据数据库的</span><span lang="EN-US" style="font-size: 9pt; color: black; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Dialect</span><span style="font-size: 9pt; color: black; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，自动采用</span><span lang="EN-US" style="font-size: 9pt; color: black; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">identity</span><span style="font-size: 9pt; color: black; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span><span lang="EN-US" style="font-size: 9pt; color: black; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">hilo</span><span style="font-size: 9pt; color: black; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span><span lang="EN-US" style="font-size: 9pt; color: black; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">sequence</span><span style="font-size: 9pt; color: black; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的其中一种作为主键生成方式</span><br style="mso-special-character: line-break" />
<br style="mso-special-character: line-break" />
</span></span></p>
<img src ="http://www.blogjava.net/haiing/aggbug/175736.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haiing/" target="_blank">轧钢王子</a> 2008-01-16 17:49 <a href="http://www.blogjava.net/haiing/archive/2008/01/16/175736.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个合格的程序员该做的事情 </title><link>http://www.blogjava.net/haiing/archive/2008/01/06/173211.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Sun, 06 Jan 2008 15:55:00 GMT</pubDate><guid>http://www.blogjava.net/haiing/archive/2008/01/06/173211.html</guid><wfw:comment>http://www.blogjava.net/haiing/comments/173211.html</wfw:comment><comments>http://www.blogjava.net/haiing/archive/2008/01/06/173211.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/haiing/comments/commentRss/173211.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haiing/services/trackbacks/173211.html</trackback:ping><description><![CDATA[<p style="background: white; margin: 0cm 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left">将此作为第一篇随笔，谨以自勉！祝愿自己今后一路好走～<font size="3"><strong><span style="color: black; font-family: 宋体"><br />
<br />
程序员每天该做的事</span></strong></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">1</span><span style="color: black; line-height: 150%; font-family: 宋体">、总结自己一天任务的完成情况</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: 宋体">最好的方式是写工作日志，把自己今天完成了什么事情，遇见了什么问题都记录下来，日后翻看好处多多</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">2</span><span style="color: black; line-height: 150%; font-family: 宋体">、考虑自己明天应该做的主要工作</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: 宋体">把明天要做的事情列出来，并按照优先级排列，第二天应该把自己效率最高的时间分配给最重要的工作</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">3</span><span style="color: black; line-height: 150%; font-family: 宋体">、考虑自己一天工作中失误的地方，并想出避免下一次再犯的方法</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: 宋体">出错不要紧，最重要的是不要重复犯相同的错误，那是愚蠢</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">4</span><span style="color: black; line-height: 150%; font-family: 宋体">、考虑自己一天工作完成的质量和效率能否还能提高</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: 宋体">一天只提高</span><span style="color: black; line-height: 150%; font-family: Tahoma">1%</span><span style="color: black; line-height: 150%; font-family: 宋体">，</span><span style="color: black; line-height: 150%; font-family: Tahoma">365</span><span style="color: black; line-height: 150%; font-family: 宋体">天你的效率就能提高多少倍你知道吗？</span><span style="color: black; line-height: 150%; font-family: Tahoma"> (1+0.01)^365 = 37 </span><span style="color: black; line-height: 150%; font-family: 宋体">倍</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">5</span><span style="color: black; line-height: 150%; font-family: 宋体">、看一个有用的新闻网站或读一张有用的报纸，了解业界动态</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: 宋体">闭门造车是不行的，了解一下别人都在做什么，对自己能带来很多启示</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">6</span><span style="color: black; line-height: 150%; font-family: 宋体">、记住一位同事的名字及其特点</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: 宋体">你认识公司的所有同事吗？你了解他们吗？</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">7</span><span style="color: black; line-height: 150%; font-family: 宋体">、清理自己的代码</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: 宋体">今天完成的代码，把中间的调试信息，测试代码清理掉，按照编码风格整理好，注释都写好了吗？</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">8</span><span style="color: black; line-height: 150%; font-family: 宋体">、清理自己的桌面</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: 宋体">当日事当日毕，保持清洁干劲的桌面才能让你工作时不分心，程序员特别要把电脑的桌面清理干净<br />
<br />
</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体"><font size="3">程序员每月该做的事</font></span></strong><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
1</span><span style="color: black; line-height: 150%; font-family: 宋体">、至少和一个同事一起吃饭或喝茶</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">不光了解自己工作伙伴的工作，还要了解他们的生活</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">2</span><span style="color: black; line-height: 150%; font-family: 宋体">、自我考核一次</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">相对正式地考核自己一下，你对得起这个月的工资吗？</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">3</span><span style="color: black; line-height: 150%; font-family: 宋体">、对你的同事考核一次</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">你的同事表现怎么样？哪些人值得学习，哪些人需要帮助？</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">3</span><span style="color: black; line-height: 150%; font-family: 宋体">、制定下月的计划，确定下月的工作重点</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">4</span><span style="color: black; line-height: 150%; font-family: 宋体">、总结自己工作质量改进状况</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">自己的质量提高了多少？</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">5</span><span style="color: black; line-height: 150%; font-family: 宋体">、有针对性地对一项工作指标做深入地分析并得出改进的方案</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">可以是对自己的，也可以是对公司的，一定要深入地分析后拿出自己的观点来。要想在老板面前说得上话，做的成事，工作上功夫要做足。</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">6</span><span style="color: black; line-height: 150%; font-family: 宋体">、与老板沟通一次</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">最好是面对面地沟通，好好表现一下自己，虚心听取老板的意见，更重要的是要了解老板当前关心的重点<br />
<br />
</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体"><font size="3">程序员每年该做的事</font></span></strong><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
1</span><span style="color: black; line-height: 150%; font-family: 宋体">、年终总结</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">每个公司都会做的事情，但你真正认真地总结过自己吗？</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">2</span><span style="color: black; line-height: 150%; font-family: 宋体">、兑现给自己、给家人的承诺</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">给老婆、儿子的新年礼物买了没有？给自己的呢？</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">3</span><span style="color: black; line-height: 150%; font-family: 宋体">、下年度工作规划</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">好好想想自己明年的发展目标，争取升职</span><span style="color: black; line-height: 150%; font-family: Tahoma">/</span><span style="color: black; line-height: 150%; font-family: 宋体">加薪、跳槽还是自己出来干？</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">4</span><span style="color: black; line-height: 150%; font-family: 宋体">、掌握一项新技术</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">至少是一项，作为程序员一年要是一项新技术都学不到手，那就一定会被淘汰。</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">掌握可不是看本书就行的，要真正懂得应用，最好你能够写一篇教程发表到你的</span><span style="color: black; line-height: 150%; font-family: Tahoma">blog </span></font></p>
<p style="background: white; margin: 1.5pt 0cm 1.5pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">5</span><span style="color: black; line-height: 150%; font-family: 宋体">、推出一种新产品</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">可以是一个真正的产品，也可以只是一个类库，只要是你创造的东西就行，让别人使用它，也为世界作点贡献。当然如果真的很有价值，收点注册费也是应该的</span></font></p>
<p style="background: white; margin: 1.5pt 0cm 0pt 36pt; line-height: 150%; text-align: left" align="left"><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma">6</span><span style="color: black; line-height: 150%; font-family: 宋体">、与父母团聚一次</span></font><font size="3"><span style="color: black; line-height: 150%; font-family: Tahoma"> <br />
</span><span style="color: black; line-height: 150%; font-family: 宋体">常回家看看，常回家看看</span></font></p>
<img src ="http://www.blogjava.net/haiing/aggbug/173211.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haiing/" target="_blank">轧钢王子</a> 2008-01-06 23:55 <a href="http://www.blogjava.net/haiing/archive/2008/01/06/173211.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>