Expressjs MySql sequelizejs
Express介紹
Express是Nodejs中開源的一個(gè)WEB快速開發(fā)框架,具體參考 Expressjs
Express中內(nèi)置的功能
- 可以用中間件來處理HTPP請(qǐng)求
- 可以用中間件來處理模板渲染
- 可以定義路由來指定不同的HTTP請(qǐng)求如果響應(yīng)
sequelizejs介紹
sequelizejs是一個(gè)nodejs中的ORM映射框架,做過JAVA開發(fā)的都知道Hibernate,MyBatis。sequelizejs 和其類似
sequelizejs 需要定義一個(gè)MySQL鏈接,然后實(shí)例化一個(gè)sequelize,在每個(gè)Model中引入sequelize實(shí)例即可定義Model。具體參考 sequelizejs 文檔
構(gòu)建一個(gè)Expressjs+Mysql+sequelizejs網(wǎng)站
前提準(zhǔn)備
nodeejs expressjs 安裝
1.安裝Nodejs 安裝Nodejs有很多種方式,常見的一種是從官網(wǎng)下載對(duì)應(yīng)的安裝文件 下載地址 建議下載LTS版本

第二種方式可以采用nvm(Linux,Mac os),gvm(Windows)等多版本工具來安裝。
2.安裝Expressjs + Express generator
#全局安裝Express
npm install Express -g
#全局安裝Express Generator Express項(xiàng)目生成工具
npm install -g express-generator
搭建Express項(xiàng)目
使用Express Generator來生成項(xiàng)目
#生成視圖模板為 ejs的項(xiàng)目
express --ejs MyPro
#安裝node依賴
cd MyPro && npm install
添加Sequelizejs
npm install --save sequelize
1.在項(xiàng)目目錄結(jié)構(gòu)中增加model的目錄 并在其下新建一個(gè)db.js 內(nèi)容如下
Sequelize = require('sequelize');
//var models=module.exports={};
var sequelize
=
new Sequelize
('dbName', 'dbUser', 'userPassword',
{host : 'localhost', port : '3306', dialect : 'mysql',timezone: '+08:00' });
module.exports=sequelize;
//timezone 設(shè)置時(shí)區(qū)為東8區(qū)
2.添加一個(gè)新的Model實(shí)體 Manager.js 內(nèi)容如下
var db = require('./db');
var Manager = db.define(
'manager',
{
id:{
filed:'id',
primaryKey:true,
type:Sequelize.BIGINT,
allowNull: false
},
userName: {
field: 'username',
type: Sequelize.STRING,
allowNull: false
},
password: {
field: 'password',
type: Sequelize.STRING,
allowNull: false
},
createTime: {
field: 'createTime',
type: Sequelize.DATE,
allowNull: false
},
},
{
tableName: 'manager',
timestamps: false,
freezeTableName: true
}
);
module.exports = Manager;
定義Model如何寫???具體參考sequelizejs的官方文檔,文檔需耐心點(diǎn)。
3.定義一個(gè)接口來對(duì)Manager進(jìn)行查詢
在項(xiàng)目目錄router中的index.js中添加以下方法
router.get("/queryManager",function(req,res,next){
manager.findAll().then(function(managerList){
res.json({"managerlist":managerList});
}).catch(function(error){
res.json({"error":error});
});
});
這里簡(jiǎn)單期間定義了一個(gè)簡(jiǎn)單的Get請(qǐng)求,用于獲取所有的Manager表中的數(shù)據(jù),然后以JSON的形式返回。
總結(jié)
在真是的項(xiàng)目開發(fā)中,遇到過很多所謂的坑,但最后發(fā)現(xiàn) 官方文檔都有介紹過。
最后給大家要給小小的建議。多看官方文檔,避免進(jìn)坑。