<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      NodeJs對Mysql封裝

        

      之前在學習NodeJs的時候,每次操作數據庫都需要連接數據庫然后開始寫Sql操作,這樣非常麻煩,然后自己對Mysql進行了封裝,一共100多行代碼。

      github地址: Mysql操作

      我在里面對Mysql基本操作--增刪改查進行了封裝,在處理NodeJs的異步回調時使用了原型擴展、Promise規范的Q,我覺得Q的設計容易理解,便于使用。

      因為大部分的查詢需要返回數據,所以根據數據庫表中字段設置相同的字段,下面會介紹,而修改、刪除、增加數據都只需要返回是否成功,所以會返回0/1作為判斷。

      調用方式

      首先創建一個Js文件main.js,我使用的是Node Express web框架,這樣在處理前端靜態資源和get/post請求時非常輕松,以后有興趣可以自己寫一個web框架。

      創建數據庫Article,字段articleId,articleName,date。然后我們會查詢articleId和articleName。

       

      var express = require("express");
      var app = express();
      var Mysql = require("./Mysql/Mysql2");
      
      app.get("/Query",function(request,response){
          var query = "select * from Article";
          var mysql = new Mysql.createMysql({
              database:"blog",             //設置數據庫名
              response:response,
              query:query,
              config:["articleId","articleName"]   //配置需要顯示在前端的字段
          });
          mysql.Query();
      });
      
      var server = app.listen(9090,function(){
          var host = server.address().address;
          var port = server.address().port;
          console.log("應用實例,訪問地址為 http://%s:%s", host, port)
      });
      

        

       

      當我們啟動了服務器之后,在頁面上輸入http://localhost:9090/Query,就可以得到我們需要的數據。

      {"total":3,"result":[{"articleId":6,"articleName":"2015總結","date":"2016-1-14","categoryId":9},{"articleId":8,"articleName":"數據庫","date":"2016-1-15","categoryId":6},{"articleId":9,"articleName":"linux基礎","date":"2016-1-15","categoryId":6}]}
        total:查詢出的數據總量。
        result:數組中包括很多條數據,一般遍歷數組進行操作。

      上面是沒有參數的查詢,也就是不需要傳遞參數,當然,我封裝的Mysql是可以傳遞參數的,下面是整個從頁面傳遞參數到取出數據的過程。

      例如例子中,我需要根據Id查詢出articleId=6時articleName時,需要從前端取到Id值,然后根據$.getJSON("/Query",{articleId:6},function(data){console.log(data)});發送ajax請求。

      var express = require("express");
      var app = express();
      var Mysql = require("./Mysql/Mysql2");
      
      app.get("/Query",function(request,response){
          var query = "select * from Article where articleId=?";
          var param = request.query;
          var mysql = new Mysql.createMysql({
              database:"blog",
              response:response,
              query:query,
              param:[param.articleId],    //配置參數
              config:["articleId","articleName","date","categoryId"]
          });
          mysql.Query();
      });
      
      var server = app.listen(9090,function(){
          var host = server.address().address;
          var port = server.address().port;
          console.log("應用實例,訪問地址為 http://%s:%s", host, port)
      });
      

        就這樣可以取到數據。

      {"total":1,"result":[{"articleId":6,"articleName":"2015總結","date":"2016-1-14","categoryId":9}]}

      總結

      在學習技術的過程中,越發覺得代碼就是要為我們帶來方便,我們不想寫重復的代碼,那就把它封裝起來吧,有很多人在問要不要重復造輪子的問題,我覺得這個問題因人而異,我個人非常喜歡造輪子,如果是簡單的東西,都自己封裝,如果是要用大的框架,就去學習別人的框架,看看別人的源碼,我曾經承諾過不許別人說我Jquery基礎差,以后一定會去研究它的源碼,不過目前優先級不高,當我水平達到一個層次后,自然會想突破自己,就會去看別人的框架源碼提升框架水平,現在還是打好基礎,認真走好每一步,這樣才能茁壯成長。

      posted @ 2016-01-18 00:15  櫻良orz  閱讀(4264)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 中文国产不卡一区二区| 无码一区二区三区av在线播放| 久久人妻av无码中文专区| 精品久久久久中文字幕日本 | 18禁极品一区二区三区| 欧美人与禽2o2o性论交| 亚洲av成人在线一区| 天天躁夜夜躁狠狠喷水| 日韩大片一区二区三区| 国产精品污双胞胎在线观看| 野花社区视频www官网| 国产精品日韩深夜福利久久| 开心一区二区三区激情| 亚洲av成人在线一区| 在线天堂最新版资源| 免费人成视频x8x8国产| 国产av综合一区二区三区| 国产一区精品综亚洲av| 被黑人巨大一区二区三区| 免费国产精品黄色一区二区| 日韩精品亚洲精品第一页| 国产综合视频一区二区三区| 亚洲国产成人资源在线| 国产精品自拍视频第一页| 日区中文字幕一区二区| 亚洲av噜噜一区二区| 国产三级精品三级在线看| 国产中文字幕日韩精品| 国产sm调教折磨视频| 亚洲另类在线制服丝袜国产| 97久久精品无码一区二区天美| 亚洲精品尤物av在线网站| 体验区试看120秒啪啪免费| 少妇人妻偷人精品无码视频新浪| 躁躁躁日日躁| 国产农村老熟女国产老熟女| 国产办公室秘书无码精品99| 国产亚洲精品AA片在线播放天| 高清自拍亚洲精品二区| 五月天天天综合精品无码| 精品日本免费一区二区三区|