TCG开发日志(4)Sequelize

用Sequelize的好处是Sequelize中的query是一个promise,可以用await调用,不用写非常复杂的回调结构。

那么首先还是安装:

npm install sequelize --save

npm install mysql --save

 

我在本机上用了wamp,可以在localhost/phpmyadmin中看到可视化的数据库。

首先在本地建立一个数据库tcgtest,之后在服务端连接它:

import Sequelize from 'sequelize';

let sequelize = new Sequelize('tcgtest', 'root', null, {
  host:'127.0.0.1',
  dialect:'mysql'
})

其中root和null分别是账户名和密码,这是本地的默认值。

 

之后可以先新建一个表,这里用sequelize的model来定义:

var User = sequelize.define('user', {
  nick:{
    type:Sequelize.STRING
  },
  password:{
    type:Sequelize.STRING
  }
});

 

sync可以将定义好的所有model同步到数据库中,它有很多参数,参见http://itbilu.com/nodejs/npm/VkYIaRPz-.html

之后就可以方便的进行INSERT, UPDATE, SELECT等基础操作了:

 注意:为了用await调用promise,必须把所有的query写在一个async 函数中。

 

(async ()=>{

  await sequelize.sync();

  await sequelize.query("INSERT INTO users (nick, password) VALUES (?, ?)", {
    type:sequelize.QueryTypes.INSERT,
    replacements: ['foo', 'bar']
  })

  let ret = await sequelize.query("SELECT * FROM users", {
    type:sequelize.QueryTypes.SELECT
  });

})();

 

可以用console.log(ret)查看结果,这里有个奇怪的地方,如果在query中不去指定事件的type,

那么返回的结果都是RowDataPacket,且不知道为什么会把结果返回两次。

 

转载于:https://www.cnblogs.com/wowbrionac/p/5658711.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值