ADO.NETÓëORMµÄ±È½Ï(3):Linq to SQLʵÏÖCRUD
˵Ã÷£º¸öÈ˸оõÔÚJavaÁìÓò´óÐÍ¿ª·¢¶¼Àë²»ÁËORMµÄÉíÓ°£¬ËùνµÄSSH¾ÍÊÇSpring+Struts+Hibernate£¬³ýÁËÔÚѧϰ»ù´¡ÖªÊ¶µÄʱºò±»¸æÖª¿ÉÒÔʹÓÃJDBC²Ù×÷Êý¾Ý¿âÖ®Í⣬´óÁ¿µÄÊé¼®Öж¼Êǽ²ÊöʹÓÃHibernateÕâ¸öORM¹¤¾ßÀ´²Ù×÷Êý¾Ý¡£ÔÚ.NETÖвÙ×÷Êý¾Ý¿âµÄ·½Ê½ÓжàÖÖ£¬³ýÁË×îÖ±½ÓµÄ·½Ê½¾ÍÊÇʹÓÃADO.NETÖ®Í⣬»¹¿ÉÒÔʹÓÃNHibernateÕâ¸öHibernateÔÚ.NETÖеÄʵÏÖORM£¬Èç¹ûÄã¶ÔµÚÈý·½µÄORM³Ö»³ÒÉ̬¶È£¬Ä㻹¿ÉÒÔʹÓÃÀ´×Ô΢ÈíµÄʵÏÖ¡¢¸ùÕýÃçºìµÄLinq»òÕßEntityFramework¡£
´ó²¿·Ö´ÓÔçÆÚ¾Í¿ªÊ¼Ê¹ÓÃ.NET¿ª·¢µÄ³ÌÐòÔ±¿ÉÄܶÔADO.NETÓÐÖÖÃÔÁµ£¬Ê¹ÓÃADO.NET¿ÉÒÔ³ä·Ö½«ÎÒÃÇÔçÆÚµÄSQL֪ʶ·¢»ÓµÃÁÜÀ쾡Ö£¬²¢ÇÒ³öÓÚ¶ÔÐÔÄܵĿ¼ÂÇ£¬ÓÐЩÈ˶Ô.NETÖеÄORM»¹±£³ÖÒ»ÖÖ¹ÛÍû̬¶È£¬°üÀ¨ÎÒ×Ô¼ºÒ²ÊÇÕâÖÖ̬¶È¡£²»¹ý¼´Ê¹ÔÚʵ¼Ê¿ª·¢Öв»Ó㬲¢²»´ú±íÎÒÃDz»ÄÜÈ¥Á˽âºÍ±È½ÏÕâЩ¼¼Êõ£¬ÈκÎÊÂÎïµÄ³öÏÖºÍÏûÍö×ÜÓÐÆäÔÒòµÄ£¬ÎÒÃÇ¿ÉÒÔÁ˽âËüÃǵÄÓŵãºÍ³¤´¦¡£ËùÒÔ±¾È˳é³öÁ˼¸¸öÖÜÄ©µÄʱ¼ä·Ö±ðÓÃADO.NET¡¢NHibernate¡¢LinqºÍEntityFrameworkÀ´ÊµÏÖ¶ÔÊý¾Ý¿âµ¥±íÊý¾ÝµÄ´´½¨¡¢¶ÁÈ¡¡¢¸üкÍɾ³ý²Ù×÷£¬Ò²¾ÍÊÇËùνµÄCRUD£¨C:Create/R:Read/U:Update/D:Delete£©¡£
ͨ¹ýʵÏÖÏàͬ¹¦ÄܵıȽϣ¬´ó¼Ò×Ô¼ºÅжÏÄÇÖÖ·½Ê½¸üÊʺÏ×Ô¼º¡£ÐèҪ˵Ã÷µÄÊÇ£¬Èç¹ûÔÚVS2008ÖÐʹÓÃEntityFramework¾ÍÐèÒª°²×°VS2008SP1¡£
ÓïÑÔ¼¯³É²éѯ (LINQ) ÊÇ Visual Studio 2008 ÖеÄÒ»×鹦ÄÜ£¬¿ÉΪ C# ºÍ Visual Basic ÓïÑÔÓï·¨Ìṩǿ´óµÄ²éѯ¹¦ÄÜ¡£LINQ ÒýÈëÁ˱ê×¼µÄ¡¢Ò×ÓÚѧϰµÄ²éѯºÍ¸üÐÂÊý¾Ýģʽ£¬¿ÉÒÔ¶ÔÆä¼¼Êõ½øÐÐÀ©Õ¹ÒÔÖ§³Ö¼¸ºõÈκÎÀàÐ͵ÄÊý¾Ý´æ´¢¡£Visual Studio 2008 °üº¬ LINQ Ìṩ³ÌÐòµÄ³ÌÐò¼¯£¬ÕâЩ³ÌÐò¼¯Ö§³Ö½« LINQ Óë .NET Framework ¼¯ºÏ¡¢SQL Server Êý¾Ý¿â¡¢ADO.NET Êý¾Ý¼¯ºÍ XML ÎĵµÒ»ÆðʹÓá£
ÔÚ±¾Æª½²ÊöÀûÓÃLinqʵÏÖ¶ÔÊý¾Ý¿âµÄCRUD¹¦ÄÜ£¬Ò²¾ÍÊÇLinq to SQL£¬ÐèҪ˵Ã÷µÄÊÇLinq to SQLÖ»Ö§³ÖSQL ServerÊý¾Ý¿â£¬Linq to SQLÖ»ÊÇLinqµÄÒ»²¿·Ö¹¦ÄÜ¡£
ÓÃLinq to SQLÀ´²Ù×÷Êý¾Ý¿âȷʵ±ÈʹÓÃNHibernateÔÚ²Ù×÷ÉÏÒª·½±ãµÃ¶à£¬Í¨¹ýÏÂÃæµÄ²Ù×÷¶ÁÕßÒ²»áÌå»áµÃµ½£¬±Ï¾¹Õâ¸öÊÇ΢Èí¹Ù·½µÄ¶«¶«£¬Î¢Î¢Ö§³ÖµÄÁ¦¶È×ÔȻҪ´óЩ¡£
Ò»¡¢×¼±¸
Ê×ÏÈ£¬ÏòÏîÄ¿ÖÐÌí¼ÓLinq To SQLµÄÀ࣬ÈçÏÂͼËùʾ£º
ÔÚÃû³ÆÒ»À¸ÖÐÌîд½ÏÓѺõÄÃû×ÖÖ®ºó£¬È»ºóÏîÄ¿ÖоͻáÔö¼ÓÒ»¸öºó׺ΪdbmlµÄÎļþ£¬Ë«»÷Õâ¸öÎļþ¾Í»á½øÈëÉè¼ÆÊÓͼ£¬ÈçÏÂͼËùʾ£º
ÔÚ·þÎñÆ÷×ÊÔ´¹ÜÀíÖÐÕÒµ½ÏàÓ¦µÄÊý¾Ý
Ïà¹ØÎĵµ£º
ʵÏÖСÊý¾ÝÁ¿ºÍº£Á¿Êý¾ÝµÄͨÓ÷ÖÒ³ÏÔʾ´æ´¢¹ý³Ì
¡¡¡¡½¨Á¢Ò»¸ö Web Ó¦Ó㬷ÖÒ³ä¯ÀÀ¹¦Äܱز»¿ÉÉÙ¡£Õâ¸öÎÊÌâÊÇÊý¾Ý¿â´¦ÀíÖÐÊ®·Ö³£¼ûµÄÎÊÌâ¡£¾µäµÄÊý¾Ý·ÖÒ³·½·¨ÊÇ:ADO ¼Í¼¼¯·ÖÒ³·¨£¬Ò²¾ÍÊÇÀûÓÃADO×Ô´øµÄ·ÖÒ³¹¦ÄÜ£¨ÀûÓÃÓα꣩À´ÊµÏÖ·ÖÒ³¡£µ«ÕâÖÖ·ÖÒ³·½·¨½öÊÊÓÃÓÚ½ÏСÊý¾ÝÁ¿µÄÇéÐΣ¬ÒòΪÓα걾ÉíÓÐȱµã£ºÓαêÊÇ´æ·ÅÔÚÄÚ´æÖУ¬º ......
¶¨Ò壺
create table ±íÃû£¨ÁÐÃû1 ÀàÐÍ [not null] [,ÁÐÃû2 ÀàÐÍ] [not null]£¬···£© [ÆäËû²ÎÊý]
Ð޸ģº
alter table ±íÃû add ÁÐÃû ÀàÐÍ
alter table ±íÃû rename column ÔÁÐÃû to ÐÂÁÐÃû
alter table ±íÃû alter column ÁÐÃû ÀàÐÍ [£¨¿í¶È£© [£¬Ð¡Êýλ]]
alter table ±íÃû drop column ÁÐÃû
......
SQL SERVERµÇ¼Óû§ÔÚ·þÎñÆ÷ÉϵÄȨÏÞ
Ò»¸öµÇ¼Óû§µ½µ×ÔÚSQL SERVERʵÀýÉÏÓÐʲôÑùµÄȨÏÞ£¬ÏÂÃæÒÔSQL SERVER2005ΪÀýÀ´Ï¸Êýһϡ£
Ò»£®
Ê×ÏȲ鿴¸ÃµÇ¼Óû§ÊôÓÚÄĸö¹Ì¶¨·þÎñÆ÷½ÇÉ«¡£ËùÓÐSQL SERVERµÄµÇ¼Óû§ºÍ½ÇÉ«¶¼»áÔÚmaster.sys.server_principalÊÓͼÉÏÓÐÒ»Ìõ¼Ç¼¡£¶ø¼Ç¼µÇ¼Óû§ÊôÓÚʲô·þÎñÆ÷½ÇÉ«µÄÊÓͼÊÇmaster. ......
DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
¡¡¡¡DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
¡¡¡¡DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
¡¡¡¡Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
¡¡¡¡1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE database-name
¡¡¡¡2¡¢ËµÃ÷£ºÉ¾³ýÊý¾Ý¿â
drop database ......
Ö»ÐèÒªÔÚÅäÖÃÎļþÀï hibernate.show_sql=true
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.Oracle9Dialect
......