• 图文并茂Windows系统使用XAMPP搭建本地mysql数据库导入数据库并使用node.js访问数据库


    点击下载XAMPP

    在这里插入图片描述

    点击启动Apache和Mysql

    在这里插入图片描述

    如果出现这种报错,修改配置文件,一般出现这种情况是因为端口占用

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    再次尝试START, 成功啦~~

    在这里插入图片描述

    接下来我们准备一份写好的SQL 文件

    在这里插入图片描述

    输入如下命令,回车

    mysql -u root -p
    

    初始是没有密码的,继续回车,开始导入数据库

    source 你的文件路径(可以直接拖进去自动识别路径)
    

    在这里插入图片描述

    导入成功~~

    查看导入结果

    备注,如果你打开的是80端口,就需要重启一下这个XAMPP软件哦,或者是你直接手动localhost后加上你刚刚定义的端口号

    在这里插入图片描述
    在这里插入图片描述

    导入成功~~

    代码开始链接数据库--

    下面是node.js代码示例

    app.js

    // 新版本接口服务
    const express = require('express');
    const session = require('express-session')
    var MySQLStore = require('express-mysql-session')(session);
    
    var options = {
        host: 'localhost',
        port: 3306,
        user: 'root',
        // password: '',
        database: 'cake'
    };
    var sessionStore = new MySQLStore(options);
    
    //引入路由模块
    const cors = require('cors');
    const index = require('./routers/index');
    
    //创建web服务器
    var server = express();
    
    
    //托管静态资源到public下;
    server.use(express.static('public'));
    //跨域请求cors
    server.use(cors({
        origin: "*",
        credentials: true
    }));
    
    // server.writeHead(200,{"Access-Control-Allow-Credentials":true});
    server.use(express.json())
    server.use(express.urlencoded({
        extended: false
    }));
    
    //session 启用会话中间件,用来保存用户登录状态以及验证码
    server.use(session({
        name: 'sessioqqqqqq',
        resave: true,
        saveUninitialized: true,
        secret: 'APP_SESSION_SECRET',
        store: sessionStore // 将会话存到数据库
    }))
    
    server.use('/index', index);
    
    server.use((req, res, next) => {
        res.status(404).send('404 not found')
    })
    
    // 异常处理器
    server.use((req, res, next, err) => {
        console.log('req', req)
        console.log('res', res)
        console.log('next', next)
        console.log(next)
        console.log('err', err)
            // res.send(500);
    })
    
    server.listen(3000);
    console.log('啟動啦3000')
    

    index.js

    const express = require("express");
    const router = express.Router();
    const pool = require("../pool");
    
    router.get("/", (req, res) => {
        console.log('调用了我这个接口---------------index')
        var status = req.query.status;
        var output = {
            product: {}
        }
        if (status !== undefined) {
            var sql1 = `select * from cake_index_product where index_status=?`;
            pool.query(sql1, [status], (err, result) => {
                if (err) console.log(err);
                output.product = result;
                // console.log(output);
                // console.log("haha1");
                res.send(output);
            })
    
        } else {
            res.send(output);
            console.log(444)
        }
    })
    
    module.exports = router;
    

    命令行运行

    node app.js
    

    浏览器访问 http://localhost:3000/index?status=1

    在这里插入图片描述

    至此,大功告成~~

    在这里插入图片描述

  • 相关阅读:
    java.math.BigDecimal
    《大话设计模式 Java溢彩加强版》相关主题
    js获取不到vfor里面的元素
    org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'null' in 'class com.
    [Typescript] 100. Hard IsAny
    [Typescript] 98. Medium Append to object
    [Typescript] 103. Hard Tuple Filter
    [Javascript] Trampolines & Tail call
    [Typescript] 97. Hard Capitalize Words
    [Typescript] 102. Hard String to Number
  • 原文地址:https://www.cnblogs.com/sugartang/p/15579736.html
Copyright © 2020-2023  润新知