丝袜人妻一区二区三区_少妇福利无码视频_亚洲理论片在线观看_一级毛片国产A级片

當(dāng)前位置:首頁(yè) > 話題廣場(chǎng) > 攻略專題 > 游戲問答

.net如何連接mysql數(shù)據(jù)庫(kù)?我來(lái)告訴你答案Swift3.0服務(wù)端開發(fā)(四) MySQL數(shù)據(jù)庫(kù)連接與操作

在本博客中,我們將討論MySQL數(shù)據(jù)庫(kù)的連接和操作。如果本地沒有MySQL數(shù)據(jù)庫(kù),則必須先安裝MySQL數(shù)據(jù)庫(kù)。

在Mac OS中使用brew包管理器進(jìn)行MySQL的安裝是及其方便的。安裝MySQL的命令為:brew install mysql。本篇博客我們就要使用Perfect框架來(lái)連接操作數(shù)據(jù)庫(kù)了,首先我們需要?jiǎng)?chuàng)建一個(gè)測(cè)試數(shù)據(jù)庫(kù),然后在測(cè)試數(shù)據(jù)庫(kù)中創(chuàng)建一張測(cè)試表用來(lái)增刪改查操作。

在博客的開頭呢,先來(lái)推薦一款Mac上比較好用又免費(fèi)的MySQL可視化管理工具Sequel Pro。這款工具用的是相當(dāng)?shù)捻樖帜?,?yīng)用的圖標(biāo)如下所示:

一、測(cè)試數(shù)據(jù)庫(kù)的創(chuàng)建

本部分與Perfect框架無(wú)關(guān),完全是MySQL的內(nèi)容,是Perfect操作數(shù)據(jù)庫(kù)的準(zhǔn)備工作。前提是你已經(jīng)安裝好了MySQL數(shù)據(jù)庫(kù)了。

1、啟動(dòng)MySQL的服務(wù)器

這一點(diǎn)雖然簡(jiǎn)單,但不要忘記啟動(dòng)你的MySQL服務(wù)呢,不然Sequel Pro是無(wú)法連接你的MySQL數(shù)據(jù)庫(kù)的。具體啟動(dòng)方式如下。

啟動(dòng)是start,那么關(guān)閉MySQL數(shù)據(jù)庫(kù)就是stop了,如下所示:

2.使用Sequel Pro連接操作數(shù)據(jù)庫(kù)

(1)、連接MySQL數(shù)據(jù)庫(kù)

打開Sequel Pro,輸入你MySQL的主機(jī)名,用戶名以及密碼。具體連接那個(gè)數(shù)據(jù)庫(kù)可以不選,然后填上具體的端口,默認(rèn)是3306。點(diǎn)擊連接即可。具體如下所示:

(2)、創(chuàng)建測(cè)試數(shù)據(jù)庫(kù)

然后點(diǎn)擊添加數(shù)據(jù)庫(kù),創(chuàng)建新的數(shù)據(jù)庫(kù)即可,下方我們創(chuàng)建的是test數(shù)據(jù)庫(kù),編碼方式用的是utf8。如下所示。

(3)、創(chuàng)建user表

創(chuàng)建完數(shù)據(jù)庫(kù)后,接下來(lái)我們要?jiǎng)?chuàng)建一個(gè)user表用來(lái)進(jìn)行測(cè)試。點(diǎn)擊左下方的加號(hào)來(lái)創(chuàng)建新的數(shù)據(jù)庫(kù)表,下方就是我們創(chuàng)建的數(shù)據(jù)庫(kù)表的具體步驟以及具體的參數(shù)配置。如下所示:

創(chuàng)建完user表后,我們需要往表里邊添加一些測(cè)試字段,下方就是我們添加的一些字段。在我們的user表中有下方四個(gè)字段,id是主鍵,用戶的唯一標(biāo)示。username-用戶名,password-用戶密碼,create_time是創(chuàng)建時(shí)間,create_time的類型是時(shí)間戳,而且默認(rèn)值是當(dāng)前時(shí)間。具體如下所示。

二、Perfect數(shù)據(jù)庫(kù)連接

萬(wàn)事俱備只欠東風(fēng),上面準(zhǔn)備完MySQL數(shù)據(jù)庫(kù)后,我們就要開始進(jìn)行Perfect框架連接數(shù)據(jù)庫(kù)的內(nèi)容了。

1.引入依賴庫(kù)

依照慣例,Perfect框架連接數(shù)據(jù)庫(kù)依然需要包的支持。首先我們需要引入操作MySQL相關(guān)的包。

//MySql數(shù)據(jù)庫(kù)依賴包

.Package(url: ";,

majorVersion: 2, minor: 0)

下方是添加完上述的依賴包后,重新進(jìn)行編譯的結(jié)果:

2、數(shù)據(jù)庫(kù)連接

下方代碼段中的MySQLConnnet類就負(fù)責(zé)數(shù)據(jù)庫(kù)的連接并且選擇相應(yīng)的數(shù)據(jù)庫(kù)。下方是MySQLConnnet類的整體結(jié)構(gòu),host,port,user,password都是只讀的計(jì)算屬性,負(fù)責(zé)配置連接數(shù)據(jù)庫(kù)的參數(shù)。而mysql屬性就是連接數(shù)據(jù)庫(kù)后的操作句柄。下方主要有兩個(gè)方法,一個(gè)是連接數(shù)據(jù)庫(kù)的方法connectDataBase()和選擇數(shù)據(jù)庫(kù)的方法selectDataBase()。MySQLConnnet類對(duì)外是以單例的形式存在的,不過(guò)對(duì)外暴漏的不是MySQLConnnet類的對(duì)象,而是MySQL類的對(duì)象。

接下來(lái)給出具體的代碼實(shí)現(xiàn),下方就是MySQLConnnet類的單例和私有構(gòu)造器。具體實(shí)現(xiàn)如下所示:

下方是數(shù)據(jù)庫(kù)的連接,核心語(yǔ)句就是下方紅框中的內(nèi)容。主要還是調(diào)用MySQL類中的connect()方法,在調(diào)用該方法時(shí)傳入相應(yīng)的參數(shù)即可。如果連接失敗了會(huì)返回相應(yīng)的errorMessage。具體代碼如下所示:

連接完數(shù)據(jù)庫(kù)后,然后是選擇數(shù)據(jù)庫(kù),下方是選擇數(shù)據(jù)庫(kù)的代碼。使用mysql句柄調(diào)用selectDataBase()方法,具體代碼如下所示:

三、數(shù)據(jù)庫(kù)操作

接下來(lái)我們就要調(diào)用上面的數(shù)據(jù)庫(kù)操作類類操作具體數(shù)據(jù)庫(kù)中的表了。在第一部分我們已經(jīng)創(chuàng)建好了test數(shù)據(jù)庫(kù),并且創(chuàng)建好了相應(yīng)的user表。接下來(lái)我們就要使用Swift代碼來(lái)對(duì)User表進(jìn)行增刪改查操作了。

1.構(gòu)建數(shù)據(jù)庫(kù)操作基類

下方截圖就是我們構(gòu)建的數(shù)據(jù)庫(kù)操作的基類,所有數(shù)據(jù)庫(kù)表的操作都要繼承自該基類,在基類中定義了操作數(shù)據(jù)庫(kù)的名字dataBaseName,MySQL操作句柄mysql,以及響應(yīng)json的格式responsJson。具體如下所示。

2.構(gòu)建user表的操作類

下方的UserOperator類就是我們創(chuàng)建的專門來(lái)操作user表的類,主要是對(duì)user表的增刪改查操作。insertUserInfo()負(fù)責(zé)“增”,即插入用戶信息。deleteUser()負(fù)責(zé)“刪”,通過(guò)userId來(lái)刪除用戶。updateUserInfo()就負(fù)責(zé)“改”,更新用戶信息。queryUserInfo()就負(fù)責(zé)“查”了,負(fù)責(zé)從user表中通過(guò)用戶名來(lái)查詢信息。

(1)、InsertUserInfo()----"增"

下方就是插入數(shù)據(jù)的具體代碼,第一個(gè)框就是我們要執(zhí)行的SQL語(yǔ)句,然后使用mysql操作句柄調(diào)用query()方法進(jìn)行SQL語(yǔ)句的執(zhí)行。執(zhí)行成功后,查詢插入的數(shù)據(jù)并返回查詢的結(jié)果,如下所示。

(2)、deleteUserInfo()----"刪"

接下來(lái)我們來(lái)看一下刪除的具體操作,下方截圖就是deleteUserInfo()的具體實(shí)現(xiàn)。下方的方法與插入差不多,先給出delete的SQL語(yǔ)句,然后再調(diào)用mysql操作句柄的query()操作,具體代碼如下所示:

(3)、updateUserInfo----更新用戶信息

下方是更新用戶信息的代碼,與上兩個(gè)代碼差不多,只不過(guò)是通過(guò)mysql操作句柄調(diào)用query()方法執(zhí)行的是update的SQL語(yǔ)句。更新時(shí)我們使用了MySQL的now()函數(shù)來(lái)更新時(shí)間,具體代碼如下所示。

(4)、queryUserInfo----查詢

接著我們來(lái)實(shí)現(xiàn)一下查詢用戶信息的代碼。下方就是查詢用戶信息的代碼,查詢的代碼稍微復(fù)雜一些,在執(zhí)行完查詢的SQL語(yǔ)句后,還需要價(jià)格查詢結(jié)果進(jìn)行存儲(chǔ)。在存儲(chǔ)后,會(huì)返回查詢的結(jié)果results。我們可以通過(guò)results的forEachRow()函數(shù)的尾隨閉包來(lái)獲取每行的數(shù)據(jù)。在取出數(shù)據(jù)后,將其轉(zhuǎn)換成相應(yīng)的字典,然后將存有查詢結(jié)果的字典存入到responseJson中,然后將responseJson轉(zhuǎn)換為json字符串返回給用戶即可。具體做法如下所示。

四、測(cè)試用例

上面我們寫完操作User表的相應(yīng)的方法后接下來(lái)我們就來(lái)測(cè)試一些具體的結(jié)果。為了方便測(cè)試,我們配置4個(gè)路由專門用來(lái)對(duì)User表的增刪改成進(jìn)行操作。每個(gè)路由對(duì)應(yīng)著上面每個(gè)方法。本部分就給出相應(yīng)的測(cè)試用例。為了方便測(cè)試,我們?cè)诼酚膳渲脮r(shí),指定請(qǐng)求方法全是GET請(qǐng)求。

1、對(duì)“增”的測(cè)試

接下來(lái)我們對(duì)InsertUserInfo()的的測(cè)試,首先我們添加一個(gè)請(qǐng)求方式為GET的“/create”路由,然后獲取用戶提交的userName和password。獲取完畢后,調(diào)用UserOperator對(duì)象的insertUserInfo()方法將數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中。當(dāng)然插入后,會(huì)接著將數(shù)據(jù)查詢出來(lái)返回給客戶端的。

我們?cè)跒g覽器里訪問“;password=1234”這個(gè)地址,就會(huì)將用戶Hellow,密碼為1234的用戶插入到數(shù)據(jù)庫(kù)。當(dāng)然我們故意將Hello寫成了Hellow稍后進(jìn)行更新。下方就是具體的操作結(jié)果:

2.對(duì)“改”的測(cè)試

接下來(lái)我們就要測(cè)試一下updateUserInfo()這個(gè)函數(shù),該部分與上述的代碼差不多,也是需要配置一個(gè)請(qǐng)求方式為GET的更新路由“/update”。然后在該路由中獲取請(qǐng)求參數(shù),然后調(diào)用updateUserInfo()這個(gè)函數(shù)即可。具體代碼就不做過(guò)多贅述了,直接看下方的測(cè)試結(jié)果吧。通過(guò)結(jié)果不難看出,用戶名被修改成正確的Hello了,而且時(shí)間也被更新了。

剩下的查與刪,和上方的示例差不多,在此就不做過(guò)多贅述了,我們的MySQL數(shù)據(jù)庫(kù)的操作就先聊到這吧。官方上還介紹了一些數(shù)據(jù)庫(kù)的ORM操作,其中就有MySQL的ORM操作,可以簡(jiǎn)化一些數(shù)據(jù)操作。這一點(diǎn)就留給讀者自己去看吧。

1.《.net如何連接mysql數(shù)據(jù)庫(kù)?我來(lái)告訴你答案Swift3.0服務(wù)端開發(fā)(四) MySQL數(shù)據(jù)庫(kù)連接與操作》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。

2.《.net如何連接mysql數(shù)據(jù)庫(kù)?我來(lái)告訴你答案Swift3.0服務(wù)端開發(fā)(四) MySQL數(shù)據(jù)庫(kù)連接與操作》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/gl/2078196.html

上一篇

遠(yuǎn)離BOOM危險(xiǎn) 自己動(dòng)手換三星S6電池

下一篇

03版word如何刪除頁(yè)眉?終于找到答案了教你快速刪除Word封面里超難搞的頁(yè)眉!

.net如何連接mysql數(shù)據(jù)庫(kù)連接池?總結(jié)很全面速看!PHP 連接 MySQL

.net如何連接mysql數(shù)據(jù)庫(kù)連接池?總結(jié)很全面速看!PHP 連接 MySQL

.net如何連接mysql數(shù)據(jù)庫(kù)連接池相關(guān)介紹,在PHP 5和更高版本中,建議使用以下方法連接到MySQL : MySQLi extension(“I”表示improved) PHP數(shù)據(jù)對(duì)象(Pdo) PHP早期版本使用MySQL擴(kuò)展。 但該擴(kuò)展在...