标签:
用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,且不知道为什么会把结果返回两次。
标签:
原文地址:http://www.cnblogs.com/wowbrionac/p/5658711.html