將js進行到底 node學習10

2022-07-15 04:42:09 字數 2655 閱讀 5571

nosql大行其道的如今,mysql這樣的關係型資料庫依然有著不可撼動的位置,對於中型,大型物件導向的專案,關係型資料庫依然是首選,真正的專案,應當是將資料庫的任務分離給專門的資料庫工程師去完成。

本回介紹使用node.js連線mysql資料庫,基於前面的express框架構建簡單的購物車example。

資料庫驅動是語言連線資料庫的必備庫,node.js連線mysql的基本驅動叫做「node-mysql」,另外node npm社群也提供了mysql orm的資料庫驅動,就類似於上一回中的mongoose,基於模型對映的操作方式,叫做「node-sequelize」,效能相對於原生驅動肯定要差不少。

package.json

}

直接採用官方提供的連線示例:

var mysql      = require('mysql');

//建立並配置連線引數

var connection = mysql.createconnection();

//連線

connection.connect();

//測試查詢語句,使用query輸入sql語句

connection.query('select * from teacher_base_info limit 10', function (error, results, fields) );

//斷開連線

connection.end();

讀取成功

需求分析

算了算,大概需要如下幾個基本功能

為了示例簡單,只做這幾個功能罷了

使用phpmyadmin或者手動建立乙個庫,一張表

資料庫叫:shopcart

表名:items

在開發專案時,應該將資料庫賬號密碼的配置檔案單獨放在配置檔案中,所以在專案目錄下先新建dbconfig.json,使用json是因為js方便讀取。

dbconfig.json

var mysql      = require('mysql');//引入mysql驅動

var dbconfig = require("./dbconfig.json");//引入資料庫配置檔案

var express = require("express")

var bodyparser = require('body-parser');

var connection = mysql.createconnection(dbconfig);

//express框架基本配置

connection.connect();

//主頁

connection.query('select * from items', function(err, data, fields) );

});})//刪除一件商品

var id = req.params.id;

connection.query("delete from items where id=?",id,function(err,data,fields));

});//插入一件商品

console.log(req.body);

connection.query("insert into items set ?",req.body,function(err, data, fields));

});

分析套路事實上在使用後我發現node-mysql模組使用十分簡單:

從頭到尾只使用乙個query方法,傳入資料庫語句,**函式獲取資料即可,非常簡單

layout.jade

doctype html

html

head

title my shopping cart

body

h1 my shopping cart

#cart

block body

index.jade

extends layout

block body

h2 所有商品

if(items.length)

uleach item in items

lih3: a(href="/project/#")=item.title

p=item.description

span: a(href="/delete/#") 刪除

else

p 沒有任何商品

h2 建立新的商品

form(action="/projects",method="post")

plabel 標題

input(type="text",name="title")

plabel 詳情

textarea(name="description")

pbutton 提交

將高興進行到底

amd x2 7750 k10架構的cpu能讓vm6.5和esx3.5的組合跑的更順利。當老方寫完 高興的老方和老方的高興 的博文,雖說從內容上看一片喜氣洋洋,外加興奮異常。但當時老方的心理世界還是七上八下 忐忑不安的,為什麼呢,是啊,為什麼呢?當時老方怕啊,本來家裡有台電腦用著好好的,再花500大...

將PCB設計進行到底

在當前崗位上,pcb設計本不是份內工作,但是所裡的pcb設計部門那工作效率實在無法忍受,快過年了出差外協也很是不方便。手頭的專案裡三個板子還是蠻急的,希望年前都能發出去製板,無奈之下只能選擇自己動手。過去自己設計的pcb兩層板較多,大都是簡單的數碼訊號板,基本不帶大電流 模數混合或者高速 50m以上...

將企業應用進行到底

過年到現在一直沒有在這個blog上寫些什麼,其實這些日子一直在思考我們在企業應用這條路上可以走多遠。大凡國內的企業應用開發公司多半都是在掙扎,10個做專案的公司,大半是勉強保本,小半虧損倒閉,能盈利的恐怕屈指可數。在看中國的it大環境,qq 盛大是it英雄,而做企業應用的公司卻少露頭角。我並不認為q...