node.js通过Sequelize 连接MySQL的方法

一.通过koa2脚手架构建项目

1.1 安装koa-generator
在终端输入:

$ npm install -g koa-generator

1.2 使用koa-generator生成koa2项目

$ koa2 HelloKoa2

成功创建项目后,进入项目目录,并执行npm install命令

$ cd HelloKoa2
$ npm install

1.3 启动项目
在终端输入:

$ npm start

项目启动后,默认端口号是3000,在浏览器中运行可以得到下图的效果说明运行成功。

二.创建连接

2.1刚刚创建的文件使用webstorm打开
新建一个db目录

2.2查看Sequelize文档
使用npm安装Sequelize

npm install --save sequelize

你还必须手动为所选数据库安装驱动程序选择一个方法之一:

# 选择以下之一:
$ npm install --save pg pg-hstore # Postgres
$ npm install --save mysql2
$ npm install --save mariadb
$ npm install --save sqlite3
$ npm install --save tedious # Microsoft SQL Server

我这里下载得是MySQL2

2.3连接数据库
再刚刚创建得db文件加里面添加**config.js**
添加连接代码:

module.exports = {
 dbsMysql: 'mysql://root:123456@localhost:3306/new'
 //root是数据库管理员账号,‘123546'是密码 3306是端口号(MySQL默认是3306) school_admin是数据库名称

}

继续在db文件夹里面添加mysql.js
添加连接以及添加日记:

const Sequelize = require('sequelize');
const mysqlurl = require('./config').dbsMysql
const sequelize = new Sequelize(mysqlurl, {
 // 选择一种日志记录参数
 logging: console.log // 默认值,显示日志函数调用的第一个参数
});
// //每次启动server刷新数据库
//  (async ()=>{
//   await sequelize.sync({ force: true });
//  })()

module.exports = sequelize

三.创建模型

3.1模型定义
在db目录下添加models文件夹再添加一个new2.js
定义模型:

const { Sequelize, DataTypes, Model } = require('sequelize');
const sequelize = require('../mysql');

const new2 = sequelize.define('t_new2', {
  name: {
   type: DataTypes.STRING,
   allowNull: false
  },
 },
 {
  // 这是其他模型参数
  freezeTableName: true
 });
// 定义的模型是类本身
module.exports= new2

四.添加路由

4.1创建new2路由
在routes文件夹中添加new2.js

//引入kob得routes模块
const router = require('koa-router')()
//定义模型为刚刚创建得new2.js
let Model = require("../db/models/new2");
//正常来说启动端口为http://localhost:3000 添加/new2就可以进入new2路由
router.prefix('/new1')
// 进入new2路由以后可以打印this is a users response!
router.get('/', function (ctx, next) {
 ctx.body = 'this is a users response!'

})
//设置增加add接口
router.post('/add', async function (ctx, next) {
 console.log(ctx.request.body)
 const new2 = await Model.create(ctx.request.body);
 ctx.body = {
  code:200,
  data:new2
 }
})
//设置查询find接口
router.post('/find', async function (ctx, next) {
 const new2 =await Model.findAll({include: []})
 console.log(1111)
 ctx.body = {
  code: 200,
  data: new2
 }
})
//设置通过id得到所需信息的get接口
router.post('/get', async function (ctx, next) {
 // let users = await User.
 // find({})
 console.log(ctx.request.body)

 let new2 = await Model.findOne({
  // attributes: ['name', 'where']
  where: {
   id: ctx.request.body.id
  }
 });
 ctx.body = {
  code:200,
  data:new2
 }
})
//设置修改update接口
router.post('/update', async function (ctx, next) {
 console.log(ctx.request.body)
 // let pbj = await Model.update({ _id: ctx.request.body._id }, ctx.request.body);

 let new2 = await Model.update(ctx.request.body, {
  where: {
   id: ctx.request.body.id
  }
 });
 ctx.body = new2
})
//设置删除delete接口
router.post('/delete', async function (ctx, next) {
 console.log(ctx.request.body)
 // 删除所有名为 "Jane" 的人
 await Model.destroy({
  where: { id: ctx.request.body.id }
 });
 ctx.body = 'shibai '
})

// //每次启动server刷新数据库
//  (async ()=>{
//   await sequelize.sync({ force: true });
//  })()
module.exports = router

4.2在app.js里面添加路由


//引入刚刚创建的new2路由
const new2 =require('./routes/new2')
//使用我们的路由
app.use(new2.routes(),new2.allowedMethods())

4.3启动项目

在数据库中查看

5.测试

5.1使用浏览器查看

输入url:http://localhost:3000/new2

5.2.使用postman测试接口
测试find接口(因为我们写的find方法使用的post方法所以记得将get换成post):

http://localhost:3000/new2/find

测试get接口

展示一下最后的目录

到此这篇关于node.js通过Sequelize 连接MySQL的文章就介绍到这了,更多相关node.js连接MySQL内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • node.js通过Sequelize 连接MySQL的方法

    一.通过koa2脚手架构建项目 1.1 安装koa-generator 在终端输入: $ npm install -g koa-generator 1.2 使用koa-generator生成koa2项目 $ koa2 HelloKoa2 成功创建项目后,进入项目目录,并执行npm install命令 $ cd HelloKoa2 $ npm install 1.3 启动项目 在终端输入: $ npm start 项目启动后,默认端口号是3000,在浏览器中运行可以得到下图的效果说明运行成功. 二

  • Node.JS使用Sequelize操作MySQL的示例代码

    Node.JS提供了操作数据库的基础接口,我们可以通过mysql模块的query方法进行操作,但是需要编写SQL语句,对于SQL语句并不精通的人来说有一定的难度,而且在代码中保留SQL语句也有一定的危险性.为了方便进行数据库操作,ORM框架应运而生,Sequelize正是这样的模块. 安装Sequelize 首先,使用cd命令将终端控制台定位到项目的根目录,然后使用npm安装: npm install sequelize --save 安装mysql2 由于sequelize依赖于mysql2所

  • Node.js系列之连接DB的方法(3)

    背景 node.js,有人称之为运行在服务器端的JavaScript.以往我们使用JavaScript时,都是依赖后端查询数据库并返回数据,而JavaScript只需要展示即可.问题来了,就不能绕开后端直接查询数据库吗?答案是肯定的. 关系型--以mysql操作为例 node.js提供了mysql操作的驱动(模块),如果还未安装,需要执行 npm install mysql 命令来安装. //引入模块 var mysql=require('mysql'); //定义连接对象connection

  • Node.js中sequelize时区的配置方法

    基本概念 我们先来介绍一些可能当年在地理课上学习过的基本概念. 说起来,时间真是一个神奇的东西.以前人们通过观察太阳的位置来决定时间(比如:使用日晷),这就使得不同经纬度的地区时间是不一样的.后来人们进一步规定以子午线为中心,向东西两侧延伸,每 15 度划分一个时区,刚好是 24 个时区.然后因为一天有 24 小时,地球自转一圈是 360 度,360 度 / 24 小时 = 15 度/小时,所以每差一个时区,时间就差一个小时. 最开始的标准时间(子午线中心处的时间)是英国伦敦的皇家格林威治天文台

  • Node.js Mongodb 密码特殊字符 @的解决方法

    在去年的 DB 勒索事件之后, 不少的同学开始加强 Mongodb 的安全性, 其中一种办法就是设置复杂的密码. 那么问题来了, 如果设置的密码里包含一些如 "@", ":" 一样的特殊字符怎么办? mongodb://username:password@host:port/db 这种情况可能使得你的 Mongodb 连接串不能被正常解析, 并且完全有可能出现. 烦人的地方在于: 1.使用 "" 双引号将 password 包起来没有用 2,使用

  • nodeJs实现基于连接池连接mysql的方法示例

    本文实例讲述了nodeJs实现基于连接池连接mysql的方法.分享给大家供大家参考,具体如下: mysql.js //连接数据库 var mysql = require('mysql'); var pool = mysql.createPool({ host: 'localhost', user: 'root', password: 'gfdfsdf34r34r', database:'caiji' }); module.exports = function(sql, callback) { p

  • 使用Node.js实现简易MVC框架的方法

    在使用Node.js搭建静态资源服务器一文中我们完成了服务器对静态资源请求的处理,但并未涉及动态请求,目前还无法根据客户端发出的不同请求而返回个性化的内容.单靠静态资源岂能撑得起这些复杂的网站应用,本文将介绍如何使用Node处理动态请求,以及如何搭建一个简易的 MVC 框架.因为前文已经详细介绍过静态资源请求如何响应,本文将略过所有静态部分. 一个简单的示例 先从一个简单示例入手,明白在 Node 中如何向客户端返回动态内容. 假设我们有这样的需求: 当用户访问/actors时返回男演员列表页

  • node.js读取文件到字符串的方法

    本文实例讲述了node.js读取文件到字符串的方法.分享给大家供大家参考.具体分析如下: Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设你是在POSIX环境下运行它Linux 或 Mac OS X. 主要代码如下: var fs = require('fs'); var file = fs.readFileSync(path, "utf8"); console.log(file); 希望本文所述对大家的

  • 使用Node.js给图片加水印的方法

    一.准备工作: 首先,确保你本地已经安装好了node环境. 然后,我们进行图像编辑操作需要用到一个Node.js的库:images. 这个库的地址是:https://github.com/zhangyuanwei/node-images,作者定义它为 "Node.js轻量级跨平台图像编解码库" ,并提供了一系列接口. 我们要做的首先是安装images库: npm install images 二.直接上DEMO: 步骤如下: step1:文件夹结构 step2:JS代码 var ima

  • C#连接mysql的方法【基于vs2010】

    本文实例讲述了C#连接mysql的方法.分享给大家供大家参考,具体如下: 在vs2010中  工具->数据库连接   里要想连接到MySQL数据库,需要安装这样一个东西: MySql Connector: 1.首先安装 connector .下载地址:(http://www.mysql.com/downloads/connector/net/) 2.现在就可以了,打开vs2010试试吧! 安装完成后找到安装目录下(C:\Program Files\MySQL\MySQL Connector Ne

随机推荐