²Â²Â¿´£¬Hibernate»áÖ´Ðм¸¾äSQL(Ò»)
POEAAÖнéÉÜÁËORMÖÐ×îÖØÒªµÄģʽ֮һ£ºUnit Of Work¡£¿´ËƼòµ¥£¬ÊµÏÖÆðÀ´È´·Ç³£¸´ÔÓ¡£
HibernateÍêÃÀµÄʵÏÖÁËÕâ¸öģʽ¡£ÒÔÏÂÎÒÓÃһϵÁеÄÀý×ÓÀ´·ÖÎöHibernateµÄ´¦Àí»úÖÆ
ÏÂÃæÓÐÈý¸öÀý×Ó£¬²Â²Â¿´Hibernate»áÖ´Ðм¸¾äSQL(Ê¡ÂÔÊÂÎñ´¦Àí´úÂ룬ʵÌå¶ÔÏó½ÐUser£¬¼ÙÉèÖ÷¼üÊÇ×ÔÔöÐ͵Ä)
Àý1:
User user = new User();
user.setName("KENT");
session.save(user);
session.save(user);
Àý2:
User user = new User();
user.setName("KENT");
session.save(user);
user.setName("JACK");
session.save(user);
Àý3:
User user = new User();
user.setName("KENT");
session.save(user);
user.setName("JACK");
session.save(user);
user.setName("TOM");
session.save(user);
ÈÃÎÒÃÇ¿´¿´´ð°¸
Àý1:Á½´Îsave£¬½ö½öÖ´ÐÐinsertÓï¾äÒ»´Î£¬Ã»ÓÐÖ´ÐÐupdate
Àý2:Ö´ÐÐinsertÓï¾äÒ»´Î£¬ÏÈinsert³ÉKENT£¬È»ºóÖ´ÐÐupdate£¬È»ºóupdate³ÉJACK
Àý3:Ö´ÐÐinsertÓï¾äÒ»´Î£¬ÏÈinsert³ÉKENT£¬È»ºóÖ´ÐÐupdate£¬È»ºóupdate³ÉTOM£¬Ã»ÓÐupdate³ÉJACKµÄ¹ý³Ì
Äã²Â¶ÔÁËÂð£¿
ÎÒÃÇ¿´HibernateÔ´Â룬¿´µ½UnitOfWork´óÖÂÔÀíÊÇÕâÑùµÄ£º
Hibernate²¢²»ÊÇsave()Á˾ÍÖ±½ÓÖ´ÐÐsql£¬¶øÊÇʹÓÃÑÓʱִÐеķ½Ê½¡£Ö±µ½flushʱ²Å»áÒ»´ÎÐÔÖ´Ðжà¾äsql
HibernateʹÓÃAction½Ó¿Ú±íʾÿ´ÎÔöɾ¸ÄµÄÐÐΪ£¬ËùÓеÄÐÐΪ¶¼Ê¹ÓÃActionQueueÅÅÐò
µ±Ö´ÐÐÒ»´Îsave()·½·¨£¬Hibernate»áÅжϴ˶ÔÏóµÄ״̬¡£Èç¹ûÊÇTransient¾ÍÔÚActionQueueÖÐÔö¼ÓÒ»¸öInsertAction£¬²¢Éú³É´Ë¶ÔÏóµÄÖ÷¼ü£¬°Ñ´Ë¶ÔÏó±ê¼ÇΪPersistent¡£Í¬Ê±£¬»á°ÑËùÓÐÊôÐÔµÄ״̬±£´æµ½Ò»¸öÊý×éÖС£
ÔÙ´ÎÖ´ÐÐsave()·½·¨Ê±£¬Èç¹ûÊÇPersistent£¬²¢²»»áÖ±½Ó²úÉúupdateAction
µ±Êý¾Ýcommit֮ǰ£¬Ò»¶¨»áÖ´ÐÐflush()£¬¸ù¾Ý±£´æµÄËùÓÐÊôÐÔµÄ״̬£¬Åжϵ±Ç°¶ÔÏóµÄ×Ö¶ÎÊÇ·ñ±»¸üйý£¬Èç¹û±»¸üйý£¬Ôò»áÔÚActionQueueÖÐÔö¼ÓÒ»¸öUpdateAction
ËùÒÔ
Àý1»á²úÉúInsertAction
Àý2»á²úÉúInsertAction¡¢UpdateAction
Àý3»á²úÉúInsertAction¡¢UpdateAction
´ËÀýÖÐÖ»ÊÇÐÂÔö»òÐ޸ģ¬Èç¹ûÓÐɾ³ýºÍ²éѯ£¬HibernateÓÖ»áÈçºÎ´¦ÀíÄØ£¿
Çë¿´ºóÎÄ......
Ïà¹ØÎĵµ£º
»Ö¸´Ä£Ê½ÊÇÊý¾Ý¿âµÄÒ»ÖÖÌØÐÔ,Ëü¿ØÖÆ×ÅÊý¾Ý¿â±¸·ÝºÍ»¹ÔµÄ»ù±¾ÐÐΪ.
sql server ÌṩÁËÈýÖÖ»Ö¸´Ä£Ê½,ËûÃǾö¶¨ÁËÓжàÉÙºÍʲôÑùµÄÊý¾Ý¿ÉÒÔ±»±¸·ÝÏÂÀ´.
1.¼òµ¥»Ö¸´Ä£Ê½
Ö÷ÒªÓ¦ÓÃÓÚСÐÍÊý¾Ý¿âºÍ²»¾³£¸Ä±äµÄÊý¾Ý
2.ÍêÕû»Ö¸´Ä£Ê½
¿ÉÒÔÔÚ×î´ó·¶Î§ÄÚ·ÀÖ¹³öÏÖ¹ÊÕÏʱ¶ªÊ§Êý¾Ý,Ëü°üÀ¨Êý¾Ý¿â±¸·ÝºÍʳÎïÈÕÖ¾±¸·Ý,²¢Ìá¹ ......
1. select top pageSize
* from table where id not in(select top((pageNo-1)*pageSize
) id from table order by id asc)
2. select * from table where id<=pageSize*pageNo
and id>(pageNo-1)*pageSize
order by id asc
×¢£º
pagesizeÿҳÏÔʾµÄ¼Ç¼Êý
pageNoµ±Ç°µÚ¼¸Ò³
......
SQLº¯Êý left()¡¢charindex()µÄʹÓÃ
1¡¢left()
LEFT (<character_expression>£¬ <integer_expression>)
·µ»Øcharacter_expression ×óÆð integer_expression ¸ö×Ö·û¡£
2.charindex()
·µ»Ø×Ö·û´®ÖÐij¸öÖ¸¶¨µÄ×Ó´®³öÏֵĿªÊ¼Î»Öá£
CHARINDEX (<’substring_expression’>£¬ <expressio ......
¡¡¡¡Ò»¡¢Ê²Ã´ÊÇSQL×¢Èëʽ¹¥»÷?
¡¡¡¡ËùνSQL×¢Èëʽ¹¥»÷£¬¾ÍÊǹ¥»÷Õß°ÑSQLÃüÁî²åÈëµ½Web±íµ¥µÄÊäÈëÓò»òÒ³ÃæÇëÇóµÄ²éѯ×Ö·û´®£¬ÆÛÆ·þÎñÆ÷Ö´ÐжñÒâµÄSQLÃüÁî¡£ÔÚijЩ±íµ¥ÖУ¬Óû§ÊäÈëµÄÄÚÈÝÖ±½ÓÓÃÀ´¹¹Ôì(»òÕßÓ°Ïì)¶¯Ì¬SQLÃüÁ»ò×÷Ϊ´æ´¢¹ý³ÌµÄÊäÈë²ÎÊý£¬ÕâÀà±íµ¥ÌرðÈÝÒ×Êܵ½SQL×¢Èëʽ¹¥»÷¡£³£¼ûµÄSQL×¢Èëʽ¹¥»÷¹ý³ÌÀàÈ磺 ......
SELECT TOP (100) PERCENT
CASE WHEN a.colorder = 1 THEN d .name ELSE '' END AS ±íÃû, CASE WHEN a.colorder = 1 THEN isnull(f.value, '')
ELSE '' END AS ±í˵Ã÷, a.colorder AS ×Ö¶ÎÐòºÅ, a.name AS ×Ö¶ÎÃû, CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity')
= 1 THEN '√' ELSE '' END AS ±êʶ, CA ......