var vue = require('vue');
引入vue的意思,commonjs的寫法。node都是用require來載入模塊的,可以看看webpack+vue。
require()可以調用模塊。
這不是就把vue模塊命了個名嗎?
nodejs的寫法,引入vue模塊並命名為vue的意思。前端的東西,大多都是跑在nodejs上的,所以引用模塊方式就必須按照nodejs標准
===================================================================
鏈接:https://blog.csdn.net/u011146511/article/details/78992040
mysql權限:http://blog.csdn.net/anzhen0429/article/details/78296814
npm的mysql地址:https://www.npmjs.com/package/mysql
---------------直連mysql-------------
var router = function(app){
app.get('/one', function (req, res) {
res.writeHeader(200, {'Content-Type':'text/plain;charset=UTF-8'});
// res.sendFile("/Users/wofu/Desktop/node/views/one.html");
res.write("ddd");
var mysql=require('mysql');//調用mysql模塊
//創建一個connection數據庫連接對象
var connection=mysql.createConnection({
host:'localhost',//主機
user:'root',//mysql認證的用戶名
password:'123456',//mysql用戶密碼
database:'firstDB',//數據庫名
port:'3306'//端口號
});
//鏈接數據庫
connection.connect(function(err){
if(err){
console.log(err);
return;
}else{
res.write("數據庫連接成功");
res.end();
}
});
//插入數據,,update和delete跟insert類似
var name="lamb9";
var ages=30;
var userAddSql='insert into people (name,ages) values(?,?)';
var params=[name,ages];
******加參數的方法,應用於sql語句中有?占位符的情況
connection.query(userAddSql,params,function(err,rs){
if(err){
console.log(err.message);
return;
}else {
console.log("插入成功");
console.log(rs);
}
});
//*****query語句不加第二個參數************************************
var nam="lamb10";
var ag=30;
var userAddSql='insert into people (name,ages) values("lambo10",20)';
connection.query(userAddSql,function(err,rs){
if(err){
console.log(err.message);
return;
}else {
console.log("插入成功");
console.log(rs);
}
});
//刪除---query帶參數**********************************************
var userdeletSql='delete from people where id=?';
var upparams=6;
connection.query(userdeletSql,upparams,function(err,rs,fields){
if(err){
console.log(err);
return ;
}else{
console.log("刪除成功");
}
});
//刪除---query不帶參數***************************************************
var userdeletSql='delete from people where id=7';
connection.query(userdeletSql,function(err,rs,fields){
if(err){
console.log(err);
return ;
}else{
console.log("刪除成功");
}
});
//查詢-----query帶參數************************************************
var userinsertSql='SELECT *from people where name=?';
var insertparams='lambo';
connection.query(userinsertSql,insertparams,function(err,rs,fields){
if(err){
console.log(err);
return ;
}else{
console.log("查詢成功");
for(var i=0;i<rs.length;i++){
console.log(rs);
console.log(rs[0].name);//rs是查詢的結果集,是一個二維數組,第一維是一條記錄,第二維是一條記錄中的各字段值
}
}
});
///qurey不帶參數************************************************
var userinsertSql='SELECT *from people where name="lambo"';
connection.query(userinsertSql,function(err,rs,fields){
if(err){
console.log(err);
return ;
}else{
console.log("查詢成功");
for(var i=0;i<rs.length;i++){
console.log(rs);
console.log(rs[0].name);//rs是查詢的結果集,是一個二維數組,第一維是一條記錄,第二維是一條記錄中的各字段值
}
}
});
//更新---query帶參數**********************************************
var userupdatetSql='update people set ages=? where name=?';
var upparams=[23,"four"];
connection.query(userupdatetSql,upparams,function(err,rs,fields){
if(err){
console.log(err);
return ;
}else{
console.log("更新成功");
}
});
//更新---query不帶參數***************************************************
var userupdatetSql='update people set ages=24 where name="four"';
connection.query(userupdatetSql,function(err,rs,fields){
if(err){
console.log(err);
return ;
}else{
console.log("更新成功");
}
});
//關閉連接
connection.end(function(err){
if(err){
console.log(err.toString());
return;
}else{
console.log("關閉連接");
}
});
});
};
exports.router = router;
=======================連接池連接mysql=====================
連接池的原理:初始化的時候創建多個連接,放到數組中存起來;當有訪問數據的時候,不用再創建連接,直接從連接池取出連接使用進行各種數據庫操作,操作關閉后再放回連接池中;連接池會自動管理池中的連接(當訪問量少的時候,會自動減少一些連接,當訪問量大的時候會自動增加一些連接);
安裝連接池 :1.需要安裝mysql:npm install mysql -g 2.需要安裝mysqlpool模塊npm install -g node-mysql
*********************創建連接池
var router = function(app){
var mysql=require('mysql');//調用mysql模塊
app.get('/one', function (req, res) {
// res.sendFile("/Users/wofu/Desktop/node/views/one.html");
res.writeHeader(200, {'Content-Type':'text/plain;charset=UTF-8'});
res.write("ddd");
//***使用連接池操作數據庫
var Pool=mysql.createPool({
host:'localhost',//主機
user:'root',//mysql認證的用戶名
password:'123456',//mysql用戶密碼
database:'firstDB',//數據庫名
port:'3306'//端口號
});
//有連接時調用
Pool.on('connection', function (connection,err) {
if(err){ console.log(err);
return;}else{res.write("數據庫連接成功");
res.end();
}
});
//一個連接上的活動全部執行完時調用
Pool.on('acquire', function (connection) {
console.log('Connection %d acquired', connection.threadId);
});
//等待一個有效隊列
Pool.on('enqueue', function () {
console.log('Waiting for available connection slot');
});
//一個連接釋放了
Pool.on('release', function (connection) {
console.log('Connection %d released', connection.threadId);
});
// //結束所有連接
// Pool.end(function (err) {
// if (err){
// console.log(err);
// }else {
// console.log("連接全部關閉");
// }
// });
//從鏈接池中獲取一個連接
Pool.getConnection(function(err,connection){
// 執行數據庫操作 增刪改查和直接連接mysql一樣
var userAddSql='insert into people (name,ages) values(?,?)';
var params=['bbb',11];
connection.query(userAddSql,params,function(err,rs){
if(err){
console.log(err.message);
return;
}else{
console.log('insert success');
res.write("成功");
res.end();//這句話表示瀏覽器相應結束,如果在這句話后繼續向瀏覽器寫入會報錯,res.write()是錯誤的;
}
connection.release();//放回連接池
});
});
});
};
exports.router = router;
var router = function(app){
var fs =require('fs');
var http=require('https');
var mysql=require('mysql');//調用mysql模塊
var request = require('request');
var url = require('url');
var querystring = require('querystring');
var bodyParser = require("body-parser");
var urlencodedParser = bodyParser.urlencoded({ extended: false })
app.get('/get',function (req, res) {
// console.log(req.query);//{ name: 'lambo' }
// console.log(req.query.name);//lambo
// console.log(req.url);///one?name=lambo
// console.log(url.parse(req.url).pathname);// /one
// console.log(url.parse(req.url).query);// name=lambo
// app.post('/one',urlencodedParser,function (req, res) {
//text/html,application/json", @"text/json", @"text/javascript",@"text/html",
//@"text/xml", @"text/plain; charset=utf-8",image/png
// res.writeHeader(200, {'Content-Type':'image/png;charset=UTF-8'});
res.writeHeader(200, {'Content-Type':'text/html;charset=UTF-8'});
// res.writeHeader(200, {'Content-Type':'application/json;charset=UTF-8'});
// 輸出 JSON 格式
var json = JSON.stringify({
"msg":"成功",
result:[{
"name":"新聞",
"site":"http:www.baidu.com"
},{
"name":"新手教程",
"site":"csdnnnn"
}],
"status":"1"
}
);
console.log(json);
res.write(json);
res.end(json);
//***使用連接池操作數據庫
var Pool=mysql.createPool({
host:'localhost',//主機
user:'root',//mysql認證的用戶名
password:'123456',//mysql用戶密碼
database:'firstDB',//數據庫名
port:'3306'//端口號
});
//
Pool.on('connection', function (connection,err) {
if(err){
console.log(err);
return;
}else{
// res.write("數據庫連接成功");
// res.end();
}
});
//
//監聽----獲得一個連接時調用
Pool.on('acquire', function (connection) {
console.log('Connection %d acquired', connection.threadId);
});
//等待一個有效隊列
Pool.on('enqueue', function () {
console.log('Waiting for available connection slot');
});
//一個連接釋放了
Pool.on('release', function (connection) {
console.log('Connection %d released', connection.threadId);
});
// //結束所有連接
// Pool.end(function (err) {
// if (err){
// console.log(err);
// }else {
// console.log("連接全部關閉");
// }
// });
//從鏈接池中獲取一個連接
Pool.getConnection(function(err,connection){
// // *************執行數據庫操作 增刪改查和直接連接mysql一樣
// //插入,query加占位
// var userAddSql='insert into people (name,age,birthday) values(?,?,?)';
// var params=['bbb',11,new Date()];
// connection.query(userAddSql,params,function(err,rs){
// if(err){
// console.log(err.message);
// return;
// }else{
// console.log('insert success');
//
//
// var json = JSON.stringify({
// "msg":"成功",
// result:[{
// "name":"新聞",
// "site":"http:www.baidu.com"
// },{
// "name":"新手教程",
// "site":"csdnnnn"
// }],
// "status":"1"
// }
// );
//
// res.write(json);
// res.end();
// }
// });//****************
// //******插入,query不加占位,直接寫參數
// var nam="lamb10";
// var ag=30;
// var userAddSql='insert into people (name,age,birthday) values("nam",21,now())';
// connection.query(userAddSql,function(err,rs){
// if(err){
// console.log(err.message);
// return;
// }else {
// console.log("插入成功");
// console.log(rs);
// }
// });//*********
// //*****刪除---query加占位**********************************************
// var userdeletSql='delete from people where id=?';
// var upparams=269;
// connection.query(userdeletSql,upparams,function(err,rs,fields){
// if(err){
// console.log(err);
// return ;
// }else{
// console.log("刪除成功");
//
// }
// });//**************
//
// //刪除---query不加占位**************************************************
// var userdeletSql='delete from people where id=7';
// connection.query(userdeletSql,function(err,rs,fields){
// if(err){
// console.log(err);
// return ;
// }else{
// console.log("刪除成功");
//
// }
// });//*************
//
// //查詢-----query帶占位************************************************
// var userinsertSql='SELECT *from people where name=?';
// var insertparams='lambo2';
// connection.query(userinsertSql,insertparams,function(err,rs,fields){
// if(err){
// console.log(err);
// return ;
// }else{
// console.log("查詢成功");
// for(var i=0;i<rs.length;i++){
// console.log(rs);
// console.log(rs[0].name);//rs是查詢的結果集,是一個二維數組,第一維是一條記錄,第二維是一條記錄中的各字段值
// }
// }
// });//**********************
//
//
// ///查詢----不帶占位************************************************
// var userinsertSql='SELECT *from people where name="bbb"';
// connection.query(userinsertSql,function(err,rs,fields){
// if(err){
// console.log(err);
// return ;
// }else{
// console.log("查詢成功");
// for(var i=0;i<rs.length;i++){
// console.log(rs);
// console.log(rs[0].name);//rs是查詢的結果集,是一個二維數組,第一維是一條記錄,第二維是一條記錄中的各字段值
// }
// }
// });//***************************
//
// //更新---帶占位**********************************************
// var userupdatetSql='update people set age=? where name=? and id=?';
// var upparams=[23,"lambo2",3];
// connection.query(userupdatetSql,upparams,function(err,rs,fields){
// if(err){
// console.log(err);
// return ;
// }else{
// console.log("更新成功");
//
// }
// });//*******************
//
// //更新---不帶占位***************************************************
// var userupdatetSql='update people set age=24 where name="lambo2" and id=11';
// connection.query(userupdatetSql,function(err,rs,fields){
// if(err){
// console.log(err);
// return ;
// }else{
// console.log("更新成功");
//
// }
// });//******************
// //關閉當前的連接連接
// connection.end(function(err){
// if(err){
// console.log(err.toString());
// return;
// }else{
// console.log("關閉連接");
// }
// });
connection.release();//放回連接池
});//poolconnect
});//get請求
};
exports.router = router;