Express框架与MySQL联动使用

js 雷运
文章标签: Node.js Express
131

Express框架使用

作用:

Express 是一个简洁而灵活的 node.js Web应用框架, 使用 Express 可以快速地搭建一个完整功能的网站。

使用方式:

  1. 下载安装模块:
进入cmd 输入npm install express -s

      2.使用WebStorm编写,使用require引用模块("express"),并且执行express()

let express = require("express");
let app = express();

      3.设置路由,第一参数为URL,第二个参数为函数,(可以设置多个路由,路由的书写顺序,范围从小到大,越具体越靠前)

app.get("/url",function(request(请求),response(响应)){
        res.send("hello world")
})

      4.创建监听

app.listen(1314)//1314为端口号



Express与MySQL联动演示

查询id与新增id

let express=require('express')//引入EX模块

let mysql = require("mysql");//引入MySQL模块

let app=express();

let con=mysql.createConnection({   //配置连接数据的信息

    host:"localhost",  //数据库IP地址
    user:"root",  //登录数据库的用户
    password:"123456",  //数据库密码
    port:"3306",  //数据口号
    database:"test"  //数据库的名称

})
con.connect();

  //解决跨域问题
app.all('*',function (req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
    res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');

    if (req.method == 'OPTIONS') {
        res.send(200); /让options请求快速返回/    }
    else {
        next();
    }
});

//设置路由地址,通过Ajax进行查询与新增操作;
app.get("/st",function (req,res) {

    let nid= req.query.id;   //通过query查询通过Ajax的新id值,使用变量装起来

    let sql = "select * from txt where nid=?";  //查询数据库为txt名的表单 列为nid名里的id值

    let parms = [nid]  //因为数据库获取的值为数组,因此获取的新ID值需要转为数组,便于查询;

    con.query(sql, parms, function (err, rs) {     //query第一个参数为sql语句(增、删、改、查),第二个参数为sql带条件的参数,第三个为回调函数

        if (err) {
            console.log(err);
        } else {

            if (rs.length >= 1) {  //如果有相同ID值 返回参数

                res.send("1");  //用户id已存在             
   
                res.end()      //结束操作

            } else {        //如果没有,执行以下操作

                      let na="insert into txt values ?";//新增到数据库为txt名的表单中

                      let par = [nid];     //新增条件值为新ID的值

                      con.query(na,par,function (err,rs) {
                          if(err){
                            console.log(err);
                          }else{
                            if(rs.affectedRows>=1){ //增、删、改的操作,都会使受影响的函发生改变
                            res.send("1");  //1为注册成功
                            res.end()
                          }else{
                            res.send("0"); //新增失败
                            res.end()
                      }
                   }
               })

            }
        }
    })

})
app.listen(1314)//监听端口号

还能输出{{restrictNumber}}个字符  
  • {{reply.author}}

    {{CommonUtil.formateDate(reply.ac_CommentDate).shortTime}}
  • 回复了{{Comments.author}} :