多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 连接mysql数据库 基础包 > mysql2 > sequelize > 关于sequelize的库的介绍可以看看这篇博客 > https://itbilu.com/nodejs/npm/VkYIaRPz-.html > 需要注意的是 博客里的初始化例子里的数据库驱动要用mysql2而不是mysql > 我这里一开始是用mysql报错了,后来根据提示使用了mysql2就没有报错了 目录结构 ~~~ orm | |---data // 数据库的实际操作 | |---index.js | |---db // 初始化数据库连接 | |---index.js ~~~ db里的index代码如下 ~~~ let Sequelize = require('sequelize'); let client = new Sequelize('headcms', 'root', 'king123', { host: 'localhost', dialect: 'mysql', pool: { max: 5, min: 0, idle: 1000 } }); module.exports.client = client ~~~ data里的index代码如下 ~~~ const Sequelize = require('sequelize'); const db = require('./../db/index'); exports.findAll = function *(query) { let sql = 'select * from users where user_id = :id'; return yield db.client.query(sql, { replacements: { id: query.id }, type: Sequelize.QueryTypes.SELECT }) } ~~~ 调用代码: ~~~ const db = require('./../orm/data'); let findAll = exports.findAll = function *() { let query = { id: 1 } let data = yield db.findAll(query); this.body = data } exports.register = function (router) { router.get('/api/findAll', findAll) }; ~~~ 说明: > @query 应该是从前端读取的对象。一般都是状态管理vuex的载荷