国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 16:25:33
字體:
來源:轉載
供稿:網友
Node是一個Javascript運行環境(runtime)。實際上它是對Google V8引擎進行了封裝。V8引 擎執行Javascript的速度非???,性能非常好。Node對一些特殊用例進行了優化,提供了替代的API,使得V8在非瀏覽器環境下運行得更好
 

操作是在ubuntu系統的下環境,簡單記錄一下過程。

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

在數據庫里面我們需要創建一些東西。鍵入 mysql -uroot -p××××× 來進入sql控制臺。

1.先創建數據集 create database databasename ;

2.use database databasename ;

3.建表(這里創建一個很簡單的,只有自增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.插入一條數據 insert into user_info values(1,'mtjss2','123456') ;

下面是node的部分

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

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

1.express

2.mysql

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

由于express好像沒有自己的數據庫封裝,所以一般會新建models文件夾,然后寫數據庫的邏輯,如果只是想簡單測試可以直接寫在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里輸入數據庫中的用戶名可以的得到那條數據。

ps:使用 Node.js 的優勢和劣勢都有哪些?

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

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



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 三门峡市| 镇安县| 临邑县| 明溪县| 共和县| 齐河县| 内黄县| 甘洛县| 镇宁| 壤塘县| 玉田县| 大英县| 读书| 武功县| 浦北县| 平昌县| 冷水江市| 延津县| 阜平县| 左贡县| 万年县| 盐山县| 田东县| 宾川县| 普安县| 梓潼县| 静海县| 龙胜| 基隆市| 霸州市| 海晏县| 黔西县| 沙坪坝区| 七台河市| 延津县| 荔浦县| 牡丹江市| 金坛市| 龙山县| 井研县| 定西市|