Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Spring µ÷ÓÃOracle´æ´¢¹ý³ÌµÄ½á¹û¼¯

oracle ¶ÔÓڸ߼¶ÌØÐÔ×ÜÊÇÓëÖÚ²»Í¬(ÎÒ¼«Á¦ÌÖÑáÕâÒ»µã,Èç¹ûʹÓÃËüµÄ²úÆ·¾ÍÒª¶ÔÕâÖÖ²úÆ·½øÐÐÌØ¶¨µÄ±à³Ì,ÕâÒ²ÊÇÎÒ´Ó²»¿´ºÃweblogicÖ®ÀàµÄƽ̨µÄÔ­Òò),´ó¶ÔÏó´æÈ¡Ò»Òª¶¨ÓÃËü×Ô¼ºµÄLOB¶ÔÏó,ËùÐÒÎÒ»¹ÄÜͨ¹ýLONG RAWÀ´´úÌæ¡£ÒÔ±ãÄÜʹ³ÌÐò²»ÐèÒªÌØ¶¨µÄ±àÂë¡£µ«¶ÔÓÚ´æ´¢¹ý³Ì(ÎÒÊÇ˵·µ»Ø½á¹û¼¯µÄ´æ´¢¹ý³Ì),ÎÒ»¹Ã»ÓÐʲô·½·¨ÄÜÓÃÒ»¸öͨÓõijÌÐòÀ´´¦ÀíORACLE¡£Ì«¶àµÄ½Ì²Ä»òÎÄÕÂÔÚ½²´æ´¢¹ý³ÌµÄµ÷ÓÃÖ»ÊDz»¸ºÔðÈεؼòµ¥Ö´ÐÐһЩº­Êý»òÎÞ½á¹û·µ»ØµÄ´æ´¢¹ý³Ì,ʹ´ó¶àÊý¶ÁÕ߸ù±¾²»ÖªµÀµ½µ×ÈçºÎµ÷Óô洢¹ý³ÌµÄ½á¹û¼¯¡£¶øÔÚSpringÖÐ,¸ù±¾¾ÍûÓÐÕæÕýÍêÈ«µØ½éÉܶԴ洢¹ý³ÌµÄ½á¹û¼¯µÄ´¦Àí,¸ü±ð˵ÏóoracleÕâÖÖ"ÌØ±ð"µÄ´æ´¢¹ý³ÌµÄ½á¹û¼¯´¦Àí¡£ÏÈÀ´¼òµ¥¿´Ò»ÏÂÎÒÃÇÈçºÎÔÚJDBCÖд¦Àí´æ´¢¹ý³ÌµÄ½á¹û¼¯µÄͨÓÃÁ÷³Ì:
¡¡¡¡1¡¢»ñÈ¡CallableStatementÓï¾ä:
CallableStatement cs = conn. prepareCall("{call spName(?,?,?)}");
¡¡¡¡2¡¢´«ÈëÊäÈë²ÎÊýºÍ×¢²áÊä³ö²ÎÊý
cs. setXXX(index,value);//ÊäÈë²ÎÊý
cs. registerOutParameter(index,type);//Êä³ö²ÎÊý
¡¡¡¡3¡¢Ö´Ðд洢¹ý³Ì:
cs.execute();
¡¡¡¡¶ÔÓÚÒ»¸ö´æÖî¹ý³Ì,Èç¹û·µ»ØµÄ½á¹ûÊÇÎÒÃÇÔ¤ÏÈÖªµÀµÄ,ÄÇô¿ÉÒÔ¸ù¾Ý´æ´¢¹ý³Ì¶¨ÒåµÄ˳ÐòÀ´½øÐд¦Àí(ÊÂʵÉÏÒ»°ã²»»áÕâÑù),µ«¶ÔÓÚ¸´ÔӵĶà½á¹û¼¯µÄ´¦Àí,ÈçºÎ¶¨ÒåÒ»¸öͨÓõÄÁ÷³Ì?ÎÒÃÇÏÈ¿´Ò»ÏÂJDBC±¾ÉíÄÜΪÎÒÃÇÌṩʲô?
¡¡¡¡Ò»¸ö´æ´¢¹ý³ÌÖ´Ðк󷵻صÄÊÇbooleanÐÍ:
boolean flag = callableStatement. execute();
¡¡¡¡Èç¹ûflagΪtrue,ÄÇô˵Ã÷·µ»ØÁËÒ»¸ö½á¹û¼¯(ResultSet)ÀàÐÍ,Äã¿ÉÒÔÓÃgetResultSet()µÃµ½µ±Ç°ÐÐËùÔڵĽá¹û,¶øÈç¹û·µ»ØÎªflase,˵Ã÷Ê²Ã´ÄØ?Èç¹ûÄã²»½øÐд¦Àí,ʲôҲ²»ÄÜ˵Ã÷,Ö»ÄÜ˵Ã÷µ±Ç°Ö¸Õë²»ÊÇResultSet,ÓпÉÄÜÊǸüмÆÊý(updateCount)Ò²¿ÉÄÜʲôҲûÓз´Ó¦
ÄÇôÈç¹ûµ±Ç°Ö¸ÕëΪflaseʱÈçºÎ´¦Àí?ÎÒÃÇÓ¦¸ÃÏÈgetUpdateCount();Èç¹û·µ»Ø-1,¼È²»Êǽá¹û¼¯,ÓÖ²»ÊǸüмÆÊýÁË¡£ËµÃ÷ûµÄ·µ»ØÁË¡£¶øÈç¹ûgetUpdateCount()·µ»Ø0»ò´óÓÚ0,Ôò˵Ã÷µ±Ç°Ö¸ÕëÊǸüмÆÊý(0µÄʱºòÓпÉÄÜÊÇDDLÖ¸Áî)¡£ÎÞÂÛÊÇ·µ»Ø½á¹û¼¯»òÊǸüмÆÊý,ÄÇôÔò¿ÉÄÜ»¹¼ÌÐøÓÐÆäËü·µ»Ø¡£Ö»ÓÐÔÚµ±Ç°Ö¸Ö¸ÕëgetResultSet()==null && getUpdateCount() == -1²Å˵Ã÷ûÓÐÔÙ¶àµÄ·µ»Ø¡£
¡¡¡¡´æ´¢¹ý³ÌµÄ·µ»ØºÍResultSetÀàËÆ,ÿ´Î´¦ÀíµÄ·µ»Ø½á¹ûÏ൱ÓÚÊÇResultSetµÄRow,Ö»²»¹ý´æ´¢¹ý³ÌµÄRow£¬×îÏÈÔÚµÚÒ»Ðжø²»ÊÇÏóResultSetÒªÏÈnext²Åµ½µÚÒ»ÐÐ,´æ´¢¹ý³ÌÏòÏÂÒÆ¶¯Ò»ÐÐÓÃgetMoreResults(),Ï൱ÓÚResultSetµÄnext()¡£Í¬ÑùËü·µ»Øb


Ïà¹ØÎĵµ£º

[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(ËÄ)

±¾ÏµÁÐÎÄÕµ¼º½
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Ò»)--αÁÐROWNUMʹÓü¼ÇÉ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(¶þ)--±êÁ¿×Ó²éѯ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Èý)--PackageµÄÓŵã
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(ËÄ)--ÅúÁ¿´¦Àí
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Îå)--µ÷Óô洢¹ý³Ì·µ»Ø½á¹û¼¯
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Áù)- ......

OracleÖÐÓÃÒ»¾äSQLÓï¾äʵÏÖÐÐÁÐת»»

SQL*PLus>   desc   emp;  
    Ãû³Æ                                                                   &nbs ......

ÓÃjavaµ÷ÓÃoracle´æ´¢¹ý³Ì×ܽá

ÉùÃ÷£º
ÒÔϵÄÀý×Ó²»Ò»¶¨ÕýÈ·£¬Ö»ÊÇΪÁËÑÝʾ´ó¸ÅµÄÁ÷³Ì¡£
Ò»£ºÎÞ·µ»ØÖµµÄ´æ´¢¹ý³Ì
´æ´¢¹ý³ÌΪ£º
CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2)  AS
BEGIN
   INSERT INTO HYQ.B_ID (I_ID,I_NAME) VALUES (PARA1, PARA2);
END TESTA;
È»ºóÄØ£¬ÔÚjavaÀïµ÷ÓÃʱ¾ÍÓÃÏÂÃæµÄ´ ......

java jdbc Á¬½ÓOracle9i

     ×Ô¼ºÔÚ×öÕâ¸ö³ÌÐòµÄʱºò¿´¹ýºÜ¶àµÄ×ÊÁÏ£¬ÉÏÍøÒ²²éÁ˲»ÉÙµÄ×ÊÁÏ£¬¿ÉÊǶà°ë˵µÄÊdzöÉñÈ뻯£¬ÔÆÀïÎíÀï...²»¹â¿´Á˲»Ã÷°×£¬¶øÇÒÊÇÓÐÃ÷°×Ò»µãµÄÈË£¬¿´ÁËÒ²±äµÄÓÐЩģºýÁË¡£
     ÕâÀïÎÒÑÚÊÎÒ»Ì×ÍêÕûµÄjava jdbc Á¬½ÓOracle9iµÄ·¶Àý¡£
package com.lxh.dbcon;//´ò°ü
import ......

MySQLÓëOracleÊý¾ÝÀàÐÍת»»


MySQL Data Type
Oracle Data Type
BIGINT
NUMBER(19, 0)
BIT
RAW
BLOB
BLOB, RAW
CHAR
CHAR
DATE
DATE
DATETIME
DATE
DECIMAL
FLOAT (24)
DOUBLE
FLOAT (24)
DOUBLE PRECISION
FLOAT (24)
ENUM
VARCHAR2
FLOAT
FLOAT
INT
NUMBER(10, 0)
INTEGER
NUMBER(10, 0)
LONGBLOB
BLOB, RAW
LONGTEX ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ