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

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 11:07:16
字體:
來源:轉載
供稿:網友

操作是在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服務就崩掉了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五指山市| 泽普县| 靖边县| 吉安市| 南乐县| 九龙县| 商城县| 浑源县| 萝北县| 昌平区| 建昌县| 革吉县| 衡水市| 潮安县| 贡嘎县| 白沙| 庐江县| 兴海县| 奎屯市| 乳源| 天峻县| 类乌齐县| 米脂县| 新建县| 淄博市| 金乡县| 新民市| 阿巴嘎旗| 砀山县| 德阳市| 浏阳市| 会泽县| 邵阳市| 北票市| 虞城县| 元谋县| 墨竹工卡县| 盈江县| 凤庆县| 页游| 肥城市|