成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

支持MySQL數(shù)據(jù)庫(kù),SPL升級(jí)到3.2

數(shù)據(jù)庫(kù) MySQL
SPL升級(jí)到3.2全面支持MySQL數(shù)據(jù)庫(kù)在實(shí)際中的應(yīng)用比例還是占為多數(shù)的,如果你對(duì)這一技術(shù),心存好奇的話(huà),此文章將會(huì)揭開(kāi)它的神秘面紗。

此文章主要講述的是SPL升級(jí)到3.2全面支持MySQL數(shù)據(jù)庫(kù)的實(shí)際應(yīng)用與具體操作,如果你是MySQL數(shù)據(jù)庫(kù)方面的新手,對(duì)MySQL數(shù)據(jù)庫(kù)的相關(guān)實(shí)際應(yīng)用不是很了解的話(huà),以下的文章會(huì)給你提供更全面的知識(shí)。

SPL從上次的3.1.0.5開(kāi)始,經(jīng)過(guò)了一段時(shí)間,積累了一些修改并進(jìn)行了MySQL數(shù)據(jù)庫(kù)的支持,現(xiàn)在發(fā)布SPL版本為3.2.0.4,Dll下載地址:這里 。只需要在項(xiàng)目中,把原來(lái)的Dll覆蓋即可,如果還沒(méi)下載過(guò)SPL早期版本的朋友,本次SPL自上次發(fā)布的3.1.0.5以后進(jìn)行的更新有:

1、支持MS SQL SERVER中的Bit型數(shù)據(jù)類(lèi)型

映射到ClassMap中的類(lèi)型為boolean,如:

 

  1. <attribute name="IsOver" column="IsOver" type="boolean" /> 

對(duì)應(yīng)的實(shí)體類(lèi)類(lèi)型為bool型,如:

 

  1. private bool m_IsOver;   
  2. public bool IsOver  
  3. {  
  4. get  
  5. {  
  6. return this.m_IsOver;  
  7. }  
  8. set  
  9. {  
  10. this.m_IsOver = value;  
  11. }  

在查詢(xún)時(shí)可以通過(guò)Condition進(jìn)行比較判斷了:

  1. Codition c=....  
  2. c.AddEqualTo("IsOver",false); 

這會(huì)最終生成 IsOver='0'的查詢(xún)條件

2、提供了對(duì)數(shù)據(jù)源的提供者類(lèi)型的判斷,這將方便區(qū)分不同的MySQL數(shù)據(jù)庫(kù)提供者手動(dòng)組裝不同的SQL語(yǔ)句

用Setting.Instance().GetDatabaseVendor(dbName)根據(jù)dbName數(shù)據(jù)源取得數(shù)據(jù)源提供者,然后與DatabaseVendor枚舉型比較

如Access的日期比較與Sql Server的不一致:一個(gè)采用#號(hào),一個(gè)采用'號(hào)

 

  1. if(Setting.Instance().GetDatabaseVendor(dbName)==DatabaseVendor.MsAccess)  
  2. {  
  3. builder.Append(" and SpecialPriceD2.FromDate<=#"+itemDate.Day.ToString()+"-"+itemDate.Month.ToString()+"-"+itemDate.Year.ToString()+"#");  
  4. builder.Append(" and SpecialPriceD2.ToDate>=#"+itemDate.Day.ToString()+"-"+itemDate.Month.ToString()+"-"+itemDate.Year.ToString()+"#");  
  5. }  
  6. if(Setting.Instance().GetDatabaseVendor(dbName)==DatabaseVendor.MsSqlServer)  
  7. {  
  8. builder.Append(" and SpecialPriceD2.FromDate<='"+itemDate.Day.ToString()+"-"+itemDate.Month.ToString()+"-"+itemDate.Year.ToString()+"'");  
  9. builder.Append(" and SpecialPriceD2.ToDate>='"+itemDate.Day.ToString()+"-"+itemDate.Month.ToString()+"-"+itemDate.Year.ToString()+"'");  

 

這個(gè)功能將為系統(tǒng)對(duì)多種MySQL數(shù)據(jù)庫(kù)的支持***的靈活性,雖然SPL本身的“實(shí)體”與“標(biāo)準(zhǔn)”都可以區(qū)分不同的數(shù)據(jù)源提供者,但在需要手寫(xiě)SQL的地方,也需要根據(jù)不同的數(shù)據(jù)源提供者提供不同的語(yǔ)句執(zhí)行

3、修訂了對(duì)所有保留字的兼容性

目前對(duì)所有的SPL中的操作,都加了定界符,ORACLE采用“"”號(hào),MS的采用“[]”號(hào),MySql的采用“`”號(hào),所有測(cè)試都通過(guò)了

4、在Condition里添加了對(duì)Null值的查詢(xún)功能

此方式只針對(duì)AddEqualTo()和AddNotEqualTo()有效:

  1. c.AddEqualTo("字段名",System.DBNull.Value);  
  2. c.AddNotEqualTo("字段名",System.DBNull.Value);  

5、增加了對(duì)MySql數(shù)據(jù)庫(kù)的支持

SPL對(duì)MySql的訪(fǎng)問(wèn)連接采用的是MySql提供的專(zhuān)用.NET connector,此驅(qū)動(dòng)應(yīng)該說(shuō)是目前.NET連接MySql的***選擇,在使用SPL訪(fǎng)問(wèn)MySql時(shí),只需要安裝一下此驅(qū)動(dòng)即可,下載與介紹請(qǐng)看

使用時(shí)只需要配置DatabaseMap時(shí)類(lèi)型設(shè)為“MySql”即可,如下:

  1. <database name="MySqlDB" type="MySql">   
  2. <parameter name="User Id" value="root"/> 
  3. <parameter name="Data Source" value="localhost"/> 
  4. <parameter name="Database" value="mysql"/> 
  5. <parameter name="password" value=""/> 
  6. <classMapFile path="ClassMap.xml" /> 
  7. </database> 

只需這里配置后,SPL在具體應(yīng)用中與其他的完全一樣,測(cè)試情況:

實(shí)體測(cè)試--->通過(guò)

RetrieveCriteira、UpdateCriteria、DeleteCriteria測(cè)試--->通過(guò)

Transaction測(cè)試--->通過(guò)

自動(dòng)增長(zhǎng)主鍵測(cè)試--->通過(guò)

TOP功能測(cè)試--->通過(guò)

6、對(duì)DateTime的Null值進(jìn)行了處理 (3.2.0.1開(kāi)始支持)

如果要對(duì)DateTime類(lèi)型的字段賦于Null值,只需要使用DateTime.MinValue即可:

aEntity.CreateDate=DateTime.MinValue;

在SPL內(nèi)部會(huì)判斷如果DateTime.MinValue的話(huà),自動(dòng)保存到MySQL數(shù)據(jù)庫(kù)為System.DBNull.Value,這就解決了不能給 DateTime類(lèi)型直接賦于System.DBNull.Value的問(wèn)題。

7、修訂了UpdateCriteria對(duì)屬性名與字段名不一致時(shí)導(dǎo)致的錯(cuò)誤(3.2.0.2開(kāi)始修訂)

原來(lái)在UpdateCriteira時(shí)沒(méi)有對(duì)屬性進(jìn)行轉(zhuǎn)化為字段名,導(dǎo)致在屬性名與字段名不一致的情況下會(huì)找不到字段。

(非常感謝iamsunrise提供的建議,請(qǐng)下載了SPL3.2的朋友重新下載一下)
(感謝子揚(yáng)報(bào)出的BUG)

8、本3.2.0.4已經(jīng)修復(fù)了DataBaseType的MySql類(lèi)型了。

【編輯推薦】

  1. MySQL 備份的實(shí)際應(yīng)用與功能介紹
  2. MySQL表種類(lèi)中兩大經(jīng)常使用的類(lèi)型
  3. 遠(yuǎn)程連接MySQL速度慢如何破解?
  4. MySQL命令備忘的“后備軍”
  5. MySQL常用技巧大匯總
責(zé)任編輯:佚名 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-04-12 09:07:50

復(fù)制數(shù)據(jù)庫(kù)SQL 2008

2011-04-07 09:44:23

SQL2000數(shù)據(jù)庫(kù)SQL2005

2025-03-24 13:23:15

DockerMySQL

2024-04-18 09:00:00

MySQL數(shù)據(jù)庫(kù)

2011-02-18 09:06:15

ChromeChrome DevLinux

2020-01-13 10:00:32

升級(jí)Windows 10Windows

2011-09-27 09:13:16

Ubuntu 11.0

2021-07-09 13:58:16

MySQL數(shù)據(jù)庫(kù)運(yùn)維

2012-06-11 18:51:40

MySQL漏洞

2009-08-02 08:54:46

Windows 7 R系統(tǒng)升級(jí)

2023-02-28 00:01:53

MySQL數(shù)據(jù)庫(kù)工具

2015-07-16 17:00:15

MySQLMariaDBPercona

2011-04-14 11:14:21

OracleNoSQLMySQL

2010-08-03 17:08:51

DB2V8

2012-10-11 09:43:34

2021-10-20 12:47:06

UbuntuUbuntu 21.1Linux

2022-08-28 20:34:42

LinuxLinux Mint

2022-09-12 21:10:42

LinkerdKubernetes

2013-12-26 14:54:58

Windows 8.1微軟

2013-11-27 09:38:11

OpenSUSE 13OpenSUSE 12
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 九九天堂网 | 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | 日本久久精品视频 | 国产精品高潮呻吟久久av黑人 | 午夜激情视频在线 | 国产一区二区精品在线观看 | 国产精品一区二区三区久久 | 亚洲精品美女视频 | 日韩精品一区二区三区久久 | 国产一区二区三区视频 | 成人国产精品免费观看 | 久久爱黑人激情av摘花 | 一级毛片视频 | 久久久青草婷婷精品综合日韩 | 久久成人精品 | 国产精品有限公司 | 女生羞羞视频 | 久久久久久国产精品 | 成年人在线播放 | 久久久久国产一区二区三区四区 | 亚洲午夜精品在线观看 | 91香蕉视频在线观看 | 久久综合入口 | 久久久综合久久 | 青青草视频网 | 中文在线视频 | 喷水毛片 | 久久久久久国产 | 国产精品一区二区在线 | 日韩精品一区二区三区在线 | 呦呦在线视频 | 亚洲一区在线播放 | 亚洲成人网在线 | 久久精品亚洲精品国产欧美 | 影音先锋中文在线 | 操操网站 | 欧美日韩视频在线播放 | 久久婷婷国产 | 亚洲第一av | www.精品国产 | 亚洲社区在线 |