ÎҾͼòµ¥µÄÒÔOracleÊý¾Ý¿âΪÀý×Ó.´´½¨Ò»¸öÃûΪUserUpdateµÄ´æ´¢¹ý³Ì...È»ºóÔÚ³ÌÐòÖнøÐе÷ÓÃ...
UserUpdateµÄ´æ´¢¹ý³Ì´úÂë:
create or replace procadure UserUpdate(u_age in number) as
begin
update users set age=age+1 where age>u_age;
end;
ÏÂÃæµÄÊÇÔÚ³ÌÐòÖÐÈçºÎµ÷ÓÃÎÒÃÇÃüÃûµÄ´æ´¢¹ý³Ì
Session session =SessionFactory.openSession();
Transaction tx =session.beginTransaction();
Connection conn=session.connection();
String str="{call UserUpdate( )}";
CallableStatement cstmt= conn.prepareCall(str);
cstmt.setInt(1,0);
cstmt.executeUpdate();
tx.commit(); ×¢Òâ.¿ªÔ´µÄMySQLÖв»Ö§³Ö´æ´¢¹ý³ÌµÄ..
ÓÃJDBC APIµÄºÃ´¦ÊÇÕâÑùµÄ..
Ëü²»ÓðѴóÅúÁ¿µÄÊý¾ÝÊÂÏȼÓÔØµ½ÄÚ´æÖÐ,È»ºóÔÙ½øÐиüÐÂÓëÐÞ¸Ä..ËùÒÔ²»»áÏûºÄ´óÁ¿ÄÚ´æ....
(С³ÌÐòÖÐÊÇ¿´²»³öʲô²î±ðµÄ..µ±Êý¾ÝµÄ¼Ç¼´ïµ½Ò»¶¨µÄÊý¾ÝÁ¿µÄʱºò×ÔÈ»»á·¢ÏÖÓÃHibernate API ÓëJDBC APIµÄ²î±ð)
ÔÚÒ»¸ö¾ÍÊÇÖ»ÄÜÒ»Ìõ¼Ç¼½øÐÐÅúÁ¿¸üÐÂ..²»ÏñHibernateÖиüÐÂÿһÌõµÄ..
µÚÒ»¼¶ÊÇSessionµÄ»º´æ¡£ÓÉÓÚSession¶ÔÏóµÄÉúÃüÖÜÆÚͨ³£¶ÔÓ¦Ò»¸öÊý¾Ý¿âÊÂÎñ»òÕßÒ»¸öÓ¦ÓÃÊÂÎñ£¬Òò´ËËüµÄ»º´æÊÇÊÂÎñ·¶Î§µÄ»º´æ¡£µÚÒ»¼¶»º´æÊDZØÐèµÄ£¬²»ÔÊÐí¶øÇÒÊÂʵÉÏÒ²ÎÞ·¨±Èж³ý¡£ÔÚµÚÒ»¼¶»º´æÖУ¬³Ö¾Ã»¯ÀàµÄÿ¸öʵÀý¶¼¾ßÓÐΨһµÄOID¡£
¶þ¼¶»º´æ¹ÜÀí
¡¡¡¡µÚ¶þ¼¶»º´æÊÇÒ»¸ö¿É²å°ÎµÄµÄ»º´æ²å¼þ£¬ËüÊÇÓÉSessionFactory¸ºÔð¹ÜÀí¡£ÓÉÓÚSessionFactory¶ÔÏóµÄÉúÃüÖÜÆÚºÍÓ¦ÓóÌÐòµÄÕû¸ö¹ý³Ì¶ÔÓ¦£¬Òò´ËµÚ¶þ¼¶»º´æÊǽø³Ì·¶Î§»òÕß¼¯Èº·¶Î§µÄ»º´æ¡£Õâ¸ö»º´æÖдæ·ÅµÄ¶ÔÏóµÄËÉÉ¢Êý¾Ý¡£µÚ¶þ¼¶¶ÔÏóÓпÉÄܳöÏÖ²¢·¢ÎÊÌ⣬Òò´ËÐèÒª²ÉÓÃÊʵ±µÄ²¢·¢·ÃÎʲßÂÔ£¬¸Ã²ßÂÔΪ±»»º´æµÄÊý¾ÝÌṩÁËÊÂÎñ¸ôÀë¼¶±ð¡£»º´æÊÊÅäÆ÷ÓÃÓڰѾßÌåµÄ»º´æÊµÏÖÈí¼þÓëHibernate¼¯³É¡£µÚ¶þ¼¶»º´æÊÇ¿ÉÑ¡µÄ£¬¿ÉÒÔÔÚÿ¸öÀà»òÿ¸ö¼¯ºÏµÄÁ£¶ÈÉÏÅäÖõڶþ¼¶»º´æ¡£
¡¡¡¡HibernateµÄ¶þ¼¶»º´æ²ßÂÔµÄÒ»°ã¹ý³ÌÈçÏ£º
¡¡¡¡1) Ìõ¼þ²éѯµÄʱºò£¬×ÜÊÇ·¢³öÒ»Ìõselect * from table_name where ¡. £¨Ñ¡ÔñËùÓÐ×ֶΣ©ÕâÑùµÄSQLÓï¾ä²éѯÊý¾Ý¿â£¬Ò»´Î»ñµÃËùÓеÄÊý¾Ý¶ÔÏó¡£
¡¡¡¡2) °Ñ»ñµÃµÄËùÓÐÊý¾Ý¶ÔÏó¸ù¾ÝID·ÅÈëµ½µÚ¶þ¼¶»º´æÖС£
¡¡¡¡3) µ±Hibernate¸ù¾ÝID·ÃÎÊÊý¾Ý¶ÔÏóµÄʱºò£¬Ê×ÏÈ´ÓSessionÒ»¼¶»º´æÖв飻²é²»µ½£¬Èç¹ûÅäÖÃÁ˶þ¼¶»º´æ£¬ÄÇô´Ó¶þ¼¶»º´æÖв飻²é²»µ½£¬ÔÙ²éѯÊý¾Ý¿â£¬°Ñ½á¹û°´ÕÕID·ÅÈëµ½»º´æ¡£
¡¡¡¡4) ɾ³ý¡¢¸üС¢Ôö¼ÓÊý¾ÝµÄʱºò£¬Í¬Ê±¸üлº´æ¡£
¡¡¡¡HibernateµÄ¶þ¼¶»º´æ²ßÂÔ£¬ÊÇÕë¶ÔÓÚID²éѯµÄ»º´æ²ßÂÔ£¬¶ÔÓÚÌõ¼þ²éѯÔòºÁÎÞ×÷Óá£Îª´Ë£¬HibernateÌṩÁËÕë¶ÔÌõ¼þ²éѯµÄQuery»º´æ¡£
¡¡¡¡HibernateµÄQuery»º´æ²ßÂԵĹý³ÌÈçÏ£º
¡¡¡¡1) HibernateÊ×Ïȸù¾ÝÕâЩÐÅÏ¢×é³ÉÒ»¸öQuery Key£¬Query Key°üÀ¨Ìõ¼þ²éѯµÄÇëÇóÒ»°ãÐÅÏ¢£ºSQL, SQLÐèÒªµÄ²ÎÊý£¬¼Ç¼·¶Î§£¨ÆðʼλÖÃrowStart£¬×î´ó¼Ç¼¸öÊýmaxRows)£¬µÈ¡£
¡¡¡¡2) Hibernate¸ù¾ÝÕâ¸öQuery Keyµ½Query»º´æÖвéÕÒ¶ÔÓ¦µÄ½á¹ûÁÐ±í¡£Èç¹û´æÔÚ£¬ÄÇô·µ»ØÕâ¸ö½á¹ûÁÐ±í£»Èç¹û²»´æÔÚ£¬²éѯÊý¾Ý¿â£¬»ñÈ¡½á¹ûÁÐ±í£¬°ÑÕû¸ö½á¹ûÁбí¸ù¾ÝQuery Key·ÅÈëµ½Query»º´æÖС£
¡¡¡¡3) Query KeyÖеÄSQLÉæ¼°µ½Ò»Ð©±íÃû£¬Èç¹ûÕâЩ±íµÄÈκÎÊý¾Ý·¢ÉúÐ޸ġ¢É¾³ý¡¢Ôö¼ÓµÈ²Ù×÷£¬ÕâЩÏà¹ØµÄQuery Key¶¼Òª´Ó»º´æÖÐÇå¿Õ¡£
Êʺϴæ·Åµ½¶þ¼¶»º´æÖеÄÊý¾ÝÓÐÒÔÏÂËÄÖÖ£º
1£©ºÜÉÙ±»Ð޸ĵÄÊý¾Ý
2£©²»ÊǺÜÖØÒªµÄÊý¾Ý£¬ÔÊÐíż¶û²¢·¢µÄÊý¾Ý
3£©²»»á±»²¢·¢·´ÎʵÄÊý¾Ý
4£©²Î¿¼Êý¾Ý£¬Ö¸µÄÊǹ©Ó¦Óòο¼µÄ³£Á¿Êý¾Ý£¬ËüµÄʵÀýÊýÄ¿ÓÐÏÞ£¬ËüµÄʵÀý»á±»Ðí¶àÆäËûÀàµÄʵÀýÒýÓá£ËüµÄʵÀý¼«ÉÙ»ò´ÓÀ´²»»á±»ÐÞ¸Ä
¶ÔÓÚÄÇЩ³£±»Ð޸ĵÄÊý¾Ý£¬Èç²ÆÎñÊý¾Ý£¨¾ø¶Ô²»ÔÊÐí³öÏÖ²¢·¢£©ºÍÆäËûÓ¦Óù²ÏíµÄÊý¾Ý£¬ÕâЩ¶¼²»Äܷŵ½µÚ¶þ¼¶»º´æÖÐ
³£ÓõĻº´æ²å¼þ
HibernateµÄ¶þ¼¶»º´æÊÇÒ»¸ö²å¼þ£¬ÏÂÃæÊǼ¸ÖÖ³£ÓõĻº´æ²å¼þ
1£©EhCache:¿É×÷Ϊ½ø³Ì·ÃÎʵĻº´æ£¬´æ·ÅµÄÎïÀí½éÖÊ¿ÉÒÔÊÇÄÚ´æ»òÓ²ÅÌ£¬¶ÔhibernateµÄ²éѯ»º´æÌṩÁËÖ§³Ö
2£©OSCache:¿É×÷Ϊ½ø³Ì·¶Î§µÄ»º´æ£¬´æ·ÅÊý¾ÝµÄÎïÀí½éÖÊ¿ÉÒÔʹÄÚ´æ»òÓ²ÅÌ£¬Ìåͳ·á¸»µÄ»º´æÊý¾Ý¹ýÆÚ²ßÂÔ£¬hibernateµÄ²éѯ»º´æÌṩÁËÖ§³Ö
3£©SwarmCache:¿É×÷Ϊ¼¯Èº·¶Î§ÄڵĻº´æ£¬µ«²»Ö§³Öhibernate²éѯ»º´æ
4£©TreeCache:¿É×÷Ϊ¼¯Èº·¶Î§ÄڵĻº´æ£¬Ö§³ÖÊÂÎñÐÔ²¢·¢·ÃÎʲßÂÔ£¬¶ÔhibernateµÄ²éѯ»º´æÌṩÁËÖ§³Ö
¶þ¼¶»º´æÊ¾Àý
ÅäÖÃÒ»£º
hibernate.cfg.xmlÎļþÖÐÔö¼Ó
Java´úÂë ÊղشúÂë
ÅäÖöþ£º
¹¤³ÌÏîÄ¿srcÎļþÏÂн¨Ò»¸öehcache.xmlÎļþ£¬ÆäÄÚÈÝΪ
Java´úÂë ÊղشúÂë
< xml version="1.0" encoding="UTF-8" >
ÅäÖÃÈý£º
ΪÁË»º´æÄ³ÀàµÄ¶ÔÏ󣬯ähbmÎļþÖÐÐèÌí¼Ó
Xml´úÂë ÊղشúÂë
< xml version="1.0" >
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
ÅäÖÃËÄ£º
ΪÁËʹÓòéѯ»º´æ£¬Query±ØÐëÉèÖÃcach