• 使用navicat for mysql图形界面操作数据库、使用node.js操作数据库写接口


    1、先启动MYSQL服务

    2、打开navicat for mysql, 点击链接,输入如下的内容:

    3、新建数据表

    4、数据库(新建一个db.js)

    //数据库链接配置
    module.exports = {
        mysql: {
            host     : 'localhost',
            user     : 'root',    
            password : '123456',    //你的密码
            database : 'test001'    //你的数据库
        }
    }

    5、sql函数(新建一个sqlfun.js)

    //sql语句
    var sqlMap = {
        user: {
            login: 'select * from admin where username = ?',
            add: 'insert into admin (username,userpsw) values (?,?)'
        }
    }
    module.exports = sqlMap;

    6、建立api接口

    var URL = require('url'); //获取url参数 依赖于url模块 使用前需要使用 require('url')
    var express = require('express');
    var router = express.Router();
    var models = require('../db');//数据库链接信息
    var mysql = require('mysql');
    var $sql = require('../sqlfun');//sql语句
    
    //链接数据库
    var conn = mysql.createConnection(models.mysql);
    conn.connect();
    
    router.post('/login', function(req, res){
        var sql = $sql.user.login;
        var params = req.body;
        conn.query(sql, params.username,function(err, result){
            if(err){
                console.log(err);
                return;
            }
            if(result){
                if(result.length !=0){
                    for(var i = 0; i < result.length;i++){
    //                    console.log('请求回来!',result[i]);
                        if(result[i].userpsw == params.userpsw){
                            res.send({
                                code: '000',
                                msg: '登录成功'
                            })
                        }else{
                            res.send({
                                code: '500',
                                msg: '密码错误'
                            })
                        }
                    }
                }else{
                    res.send({
                        code: '500',
                        msg: '不存在此用户'
                    })
                }
                
            }
        })
    })
    
    router.post('/addUser',function(req, res){
        var sql = $sql.user.add;
        var params = req.body;
        console.log([params.username, params.userpsw]);
        conn.query(sql, [params.username,params.userpsw], function(err, result){
            if(err){
                console.log(err);
                return;
            }
            res.send({
                code: '000',
                msg: '注册成功'
            })
            
        })
    })
    
    
    module.exports = router;

    7、测试页面

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title></title>
        </head>
        <body>
            <form action="http://localhost:3000/admin/login" method="POST">
                First Name: <input type="text" name="username"/><br />
                Password: <input type="text" name="userpsw"/>
                <input type="submit" value="登录"/>
            </form>
            
            <br /><br /><br />
            <form action="http://localhost:3000/admin/addUser" method="POST">
                First Name: <input type="text" name="username"/><br />
                Password: <input type="text" name="userpsw"/>
                <input type="submit" value="注册新用户"/>
            </form>
            
            
        </body>
    </html>

    参考文章:

    使用 Node.js + Express 开发服务端

    Navicat for MySQL新建表

    vue+node+mySql实现前后端分离

  • 相关阅读:
    【Java8】 @FunctionalInterface 函数式接口
    集合使用copy与mutableCopy的区别
    GCD中的dispatch_sync、dispatch_sync 分别与串行、并行队列组合执行小实验
    podspec文件介绍
    iOS系统app崩溃日志手动符号化
    webView文本长按显示英文
    深拷贝
    view向全屏延伸时的属性设置
    iOS 模拟器截屏快捷键
    mysql 优化常用语句
  • 原文地址:https://www.cnblogs.com/rachelch/p/9258475.html
Copyright © 2020-2023  润新知