前言:我用的是wafer2 node.解决方案 下面连接有环境配置及搭建流程(GitHub - tencentyun/wafer2-quickstart-nodejs: Wafer2 Node.js 简化版 Demo) ,连接是官方的可以点击
一、配置mysql 数据库连接参数
打开 server下面的config.js
user 默认都是 'root'
db 为连接是数据库名
pass 默认为小程序APPID
注意这里有个坑:host开发环境下要填localhost,不要填分配给你的域名,我就手贱的修改了这里,结果找了1个小时才找到问题原因
二、Hello World
先说一下文件结构
server>controllers 文件夹下面放置的都是接口文件
server>routes 下面的 index.js 为接口路由
1.在controllers 下建立一个demo.js 的文件 输入下面的代码
module.exports = ctx => {
ctx.state.data = {
msg: 'Hello World'
}
}
如图:
2、打开 index.js
在module.exports = router 前面加入
router.get('/demo',controllers.demo)
3.更新腾讯云后
打开浏览器输入 https://分配的二级域名/weapp/demo
更新后浏览器显示
三、链接MySql
在 demo.js添加如下代码
const { mysql } = require('../qcloud')
module.exports = async ctx => {
var result = await mysql('user')
ctx.state.data = {
msg: result
}
}
更新腾讯云后访问浏览器就可以获得你想要的数据了
如图
更多数据操作,knex.js 了解一下
附上我的demo.js
// 官网 Demo
// module.exports = ctx => {
// ctx.state.data = {
// msg: 'Hello World'
// }
// }
const { mysql } = require('../qcloud')
module.exports = async ctx => {
var result = await mysql('user')
//sql:select * from `user`
ctx.state.data = {
msg: result
}
}
// =======================================================================================
// select
// 显示指定字段:var result = await mysql.select('name', 'id').from('user')
// sql:selece 'name', 'id' from `user`;
// 条件查询:var result = await mysql.select('id','name','openid' ).from('user').where('id',2)
// sql: select 'id','name','openid' form `user` where id=2;
// =======================================================================================
// update
// var result = await mysql('user').update({ name: 'root', openid: 'xubde724xie=395' }).where('id', 2)
// sql:update `user` set name='root', openid='xubde724xie=395' where id=2;
// =======================================================================================
// delete
// var result = await mysql('user').del().where('id', 3)
// sql:delete from `user` where id=3
// =======================================================================================
// insect
// var result = await mysql.insert({ name: 'cain' }, { openid: 'Ux6892Drfixbx'}).into('user')
// var result = await mysql('user').insert({ name: 'cain', openid: 'Ux6892Drfixbx' })
// sql: insert into `user` (`name`, `openid`) values (`cain`, `Ux6892Drfixbx`)
// 两种均可
// 会返回插入条目id序号 注意传入的数据类型与表字段的数据类型不符不会报错