node + express学习二(数据库)

zhaojp0 2019-06-28

在学习一里面搭建了一个简单的项目,这一节加进数据库Mysql

1、navicat新建连接

确保已经安装好Mysql和Navicat

1、启动数据库:net start mysql(停止用 net stop mysql
注意:要用管理员权限运行

2、打开navicat新建一个连接

node + express学习二(数据库)

node + express学习二(数据库)

连接名随便取,我这里设置了免密。可以不输密码,输好后单击确定,单击test打开连接

node + express学习二(数据库)

现在就可以在test里面新建数据库

node + express学习二(数据库)

如图:我建了一个额数据库叫lyhexpress,里面有张表user,id要设为自增长

2、sequelize 处理数据库

1、打开项目安装sequelize:npm install sequelize --save,需同时安装mysql2: npm install mysql2 --save

2、根目录下新建文件夹model, model下新建db.js,用于连接数据库:db.js:

Sequelize = require('sequelize');
var sequelize
    =
    new Sequelize
    ('lyhexpress', 'root', '',
        {host : 'localhost', port : '3306', dialect : 'mysql',timezone: '+08:00', operatorsAliases: false });


module.exports=sequelize;

3、 model 下新建表模型user.js

var db = require('./db');

var user = db.define(
    'user',
    {
        id:{
            filed:'id',
            primaryKey:true,
            type:Sequelize.BIGINT,
            allowNull: true //此属性是自增长的,需设置成true
        },
        name: {
            field: 'name',
            type: Sequelize.STRING,
            allowNull: false
        },
        age: {
            field: 'age',
            type: Sequelize.INTEGER,
            allowNull: false
        }
    },
    {
        tableName: 'user',
        timestamps: false,
        freezeTableName: true
    }
);
module.exports = user;

4、修改routes/users.js,写一个查询接口:

var express = require('express');
var router = express.Router();

var db = require("../model/db");

var user = require("../model/user");
/**
 * 查询列表页
 */
router.get("/",function(req,res,next){
    user.findAll().then(function(userList){
        res.json({"userlist":userList});
    }).catch(function(error){
        res.json({"error":error});
    });
});

module.exports = router;

访问结果:

node + express学习二(数据库)

现在一条数据都没有,再写一个插入数据的接口,继续修改routes/users.js

/**
 * 插入数据
 */
router.post("/add",function(req,res,next){
    var name = req.body.name;
    var age = req.body.age;
    db.transaction( t => {
        return user.create({  //创建一条数据
            name: name,
            age: age
        }).then(result => {
            res.json({
                status:true,
                msg:'注册成功'
            })
        }).catch(err => {
            console.log(`注册失败${err}`);
            return;
        })
    })
});

现在就可以通过'http://127.0.0.1:8088/users/add'添加数据

node + express学习二(数据库)

node + express学习二(数据库)

node + express学习二(数据库)

上一篇:项目搭建链接描述

相关推荐

jiong / 0评论 2020-09-17