码迷,mamicode.com
首页 > 其他好文 > 详细

TCG开发日志(4)Sequelize

时间:2016-07-10 23:19:58      阅读:423      评论:0      收藏:0      [点我收藏+]

标签:

用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,且不知道为什么会把结果返回两次。

 

TCG开发日志(4)Sequelize

标签:

原文地址:http://www.cnblogs.com/wowbrionac/p/5658711.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!