亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺析node連接數(shù)據(jù)庫(express+mysql)

 更新時間:2015年11月30日 14:36:09   作者:mask_天俊  
Node是一個Javascript運行環(huán)境(runtime)。實際上它是對Google V8引擎進(jìn)行了封裝。V8引 擎執(zhí)行Javascript的速度非???,性能非常好。Node對一些特殊用例進(jìn)行了優(yōu)化,提供了替代的API,使得V8在非瀏覽器環(huán)境下運行得更好

操作是在ubuntu系統(tǒng)的下環(huán)境,簡單記錄一下過程。

首先用apt-get安裝數(shù)據(jù)庫,鍵入命令 sudo apt-get install mysql-server , 一路回車,然后在一個界面設(shè)置一下數(shù)據(jù)庫root的密碼就好了

在數(shù)據(jù)庫里面我們需要創(chuàng)建一些東西。鍵入 mysql -uroot -p××××× 來進(jìn)入sql控制臺。

1.先創(chuàng)建數(shù)據(jù)集 create database databasename ;

2.use database databasename ;

3.建表(這里創(chuàng)建一個很簡單的,只有自增id,用戶名和密碼)

 create table user_info (                          
   id int(11) not null auto_increment,
   username varchar(30) not null,
   password varchar(30) not null,
   primary key ( id )
  )ENGINE=InnoDB DEFAULT CHARSET=utf8 ;

4.插入一條數(shù)據(jù) insert into user_info values(1,'mtjss2','123456') ;

下面是node的部分

創(chuàng)建一個文件夾,比如叫myapp,在里面npm init之后就會也node_modules的依賴文件夾

用 npm install --save 安裝如下依賴

1.express

2.mysql

3.body-parser(用來解析post參數(shù))

由于express好像沒有自己的數(shù)據(jù)庫封裝,所以一般會新建models文件夾,然后寫數(shù)據(jù)庫的邏輯,如果只是想簡單測試可以直接寫在app.js中

這里舉例在models下有一個user.js的邏輯封裝類,暫時只有一個通過username獲取用戶信息的方法,其他可以以后加

var mysql = require('mysql') ;                                                                                      
  //connection config
  var connection = mysql.createConnection({
    host : 'localhost' ,
    user : 'root' ,
    password : '123456' ,
    database : 'my_box'
 });
 function User(user){
   this.username = user.username ;
   this.password = user.password ;
 }
 User.getUserbyUsername = function(username,callback){
   var selectSql = 'select * from user_info where username = ?' ;
   connection.query(selectSql,[username],function(err,res){
   ¦  if(err){
   ¦  ¦  console.log('getUserbyUsername err:' + err) ;
   ¦  ¦  return ;
   ¦  }
   ¦  console.log('Get name success') ;
   ¦  callback(err,res) ;
   }) ;
 } ;
 module.exports = User ;

再貼一下app.js暫時沒寫路由,就是對/和/reg方法的處理

 var mysql = require('mysql') ;                     
  //connection config
  var connection = mysql.createConnection({
    host : 'localhost' ,
    user : 'root' ,
    password : '123456' ,
    database : 'my_box'
  });
 function User(user){
   this.username = user.username ;
   this.password = user.password ;
 }
 User.getUserbyUsername = function(username,callback){
   var selectSql = 'select * from user_info where username = ?' ;
   connection.query(selectSql,[username],function(err,res){
   ¦  if(err){
   ¦  ¦  console.log('getUserbyUsername err:' + err) ;
   ¦  ¦  return ;
   ¦  }
   ¦  console.log('Get name success') ;
   ¦  callback(err,res) ;
   }) ;
 } ;
 module.exports = User ;

index.html這個主頁面在views文件夾下,沒什么代碼,不過也貼一下

<!DOCTYPE html>
<html>
<head>
  <title>my box</title>
</head>
<body>
  <form action="/reg" method="post">
    <input type="text" name="username"/>
    <input type="submit" value="submit"/>
  </form>
</body>
</html>

這樣用 node app.js 啟動以后在瀏覽器里訪問 localhost:3000就行了,在input里輸入數(shù)據(jù)庫中的用戶名可以的得到那條數(shù)據(jù)。

ps:使用 Node.js 的優(yōu)勢和劣勢都有哪些?

Node.js優(yōu)點:1、采用事件驅(qū)動、異步編程,為網(wǎng)絡(luò)服務(wù)而設(shè)計。其實Javascript的匿名函數(shù)和閉包特性非常適合事件驅(qū)動、異步編程。而且JavaScript也簡單易學(xué),很多前端設(shè)計人員可以很快上手做后端設(shè)計。2、Node.js非阻塞模式的IO處理給Node.js帶來在相對低系統(tǒng)資源耗用下的高性能與出眾的負(fù)載能力,非常適合用作依賴其它IO資源的中間層服務(wù)。3、Node.js輕量高效,可以認(rèn)為是數(shù)據(jù)密集型分布式部署環(huán)境下的實時應(yīng)用系統(tǒng)的完美解決方案。Node非常適合如下情況:在響應(yīng)客戶端之前,您預(yù)計可能有很高的流量,但所需的服務(wù)器端邏輯和處理不一定很多。

Node.js缺點:1、可靠性低2、單進(jìn)程,單線程,只支持單核CPU,不能充分的利用多核CPU服務(wù)器。一旦這個進(jìn)程崩掉,那么整個web服務(wù)就崩掉了。

相關(guān)文章

  • 詳解nodejs微信公眾號開發(fā)——2.自動回復(fù)

    詳解nodejs微信公眾號開發(fā)——2.自動回復(fù)

    這篇文章主要介紹了詳解nodejs微信公眾號開發(fā)——2.自動回復(fù),非常具有實用價值,需要的朋友可以參考下
    2017-04-04
  • 使用nvm安裝node?v12.22.12時遇到的問題解決

    使用nvm安裝node?v12.22.12時遇到的問題解決

    本文介紹了使用nvm安裝node?v12.22.12時遇到的問題解決,解決了上手動下載和安裝npm以解決版本不匹配的問題,具有一定的參考價值,感興趣的可以了解一下
    2024-12-12
  • express框架通過ejs模板渲染輸出頁面實例分析

    express框架通過ejs模板渲染輸出頁面實例分析

    這篇文章主要介紹了express框架通過ejs模板渲染輸出頁面的方法,結(jié)合實例形式分析了express框架使用ejs模版引擎渲染輸出的相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下
    2023-05-05
  • VsCode與Node.js知識點詳解

    VsCode與Node.js知識點詳解

    在本篇文章中小編給大家分享了關(guān)于VsCode與Node.js的相關(guān)知識點以及安裝等內(nèi)容,需要的朋友們可以參考下。
    2019-09-09
  • node.js中的fs.fchmod方法使用說明

    node.js中的fs.fchmod方法使用說明

    這篇文章主要介紹了node.js中的fs.fchmod方法使用說明,本文介紹了fs.fchmod的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Nodejs在局域網(wǎng)配置https訪問的實現(xiàn)方法

    Nodejs在局域網(wǎng)配置https訪問的實現(xiàn)方法

    做一個局域網(wǎng)WebRTC視頻聊天系統(tǒng),需要用到HTTPS。因此,配置Node.js使其支持HTTPS訪問。這篇文章主要介紹了Nodejs在局域網(wǎng)配置https訪問的實現(xiàn)方法,需要的朋友可以參考下
    2020-10-10
  • 進(jìn)階之初探nodeJS

    進(jìn)階之初探nodeJS

    本文主要介紹了nodeJS的相關(guān)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • Nodejs新特性async和await的使用詳解

    Nodejs新特性async和await的使用詳解

    這篇文章主要介紹了Nodejs新特性async和await的使用,主要包括Es6常見語法的使用及Async、Await和Promise的示例代碼,需要的朋友可以參考下
    2022-09-09
  • 基于node的cli工具開發(fā)使用詳解

    基于node的cli工具開發(fā)使用詳解

    這篇文章主要為大家介紹了基于node的cli工具開發(fā)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • node.js中Buffer緩沖器的原理與使用方法分析

    node.js中Buffer緩沖器的原理與使用方法分析

    這篇文章主要介紹了node.js中Buffer緩沖器的原理與使用方法,結(jié)合實例形式分析了node.js Buffer緩沖器的基本概念、原理、創(chuàng)建、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-11-11

最新評論