首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序云开发—云函数连接MySQL

微信小程序云开发—云函数连接MySQL

作者头像
爱敲代码的猫
发布2020-04-22 17:13:00
4.6K0
发布2020-04-22 17:13:00
举报
文章被收录于专栏:爱敲代码的猫爱敲代码的猫

微信小程序云开发—云函数连接MySQL

本文章代码已上传GitHub:https://github.com/aquanlerou/miniprogram-cloud-development

直接上干货,主要是利用微信的云函数和Sequelize进行连接外部MySQL,本文章主要讲述:

  • 创建一个连接MySQL的云函数
  • 在云函数内对MySQL数据进行简单的操作

注:微信小程序APPID(请自行去地址注册https://mp.weixin.qq.com)

拉取我的代码或者创建一个新的云开发小程序

//本文章主要的代码在以下目录中
miniprogram-cloud-development
 ├── cloudfunctions
 │   └── mysql
 ├── miniprogram
 │   └── pages
 │       └── mysql
 ├── project.config.json
 └── README.md

选择已经配置好的mysql页面编译模式,在编译器中直接打开MySQL页面

我们页面代码也只需要一行代码,按钮进行触发云函数即可。

mysql.wxml

<button bindtap="mysql">mysql</button>

mysql.js

Page({
    mysql: function(event) {
        console.log(event)
  //调用云函数
        wx.cloud.callFunction({
            name: 'mysql' //调用我们后面写的mysql云函数对应命名
        }).then(res => {
            console.log(res)
        })
    }
})

这是我们前端看到的页面了,就一个按钮触发云函数的页面就写好了。

创建连接MySQL云函数

可以看到我的代码中已经创建好一个叫mysqlindex.js云函数如下

const cloud = require('wx-server-sdk')

const Sequelize = require('sequelize')
// const sequelize = new Sequelize('数据库名称', '用户名', '密码', {
const sequelize = new Sequelize('xx', 'xx', 'xx', {
    host: '119.28.161.110',//云数据库IP地址
    port: 3306,
    dialect: 'mysql',
    operatorsAliases: false,
    pool: {
        max: 5,
        min: 0,
        acquire: 30000,
        idle: 10000
    }
})

//创建USER表,表结构为一个firstName和lastName字段同为String类型
const User = sequelize.define('user', {
    firstName: {
        type: Sequelize.STRING
    },
    lastName: {
        type: Sequelize.STRING
    }
})

cloud.init()

exports.main = async (event, context) => {
 
    //这里进行调用创建USER表,并且插入一条数据,最后返回结果给调用者。
    return await User.sync({ force: true }).then(() => User.create({
        firstName: 'Huangquan',
        lastName: 'Wu'
    })).then(res => {
        return res.toJSON()
    })

}

Sequelize的文档地址:https://sequelize.org/v4/ ❞

下面我们要在个云函数miniprogram-cloud-development\cloudfunctions\mysql目录打开终端,安装Sequelize的依赖

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

D:\Git\miniprogram-cloud-development\cloudfunctions\mysql>npm install --save sequelize
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN mysql@1.0.0 No description
npm WARN mysql@1.0.0 No repository field.

+ sequelize@5.21.6
added 21 packages from 93 contributors and audited 22 packages in 7.577s
found 0 vulnerabilities


D:\Git\miniprogram-cloud-development\cloudfunctions\mysql>npm install --save mysql2
npm WARN mysql@1.0.0 No description
npm WARN mysql@1.0.0 No repository field.

+ mysql2@2.1.0
added 19 packages from 21 contributors and audited 41 packages in 10.162s
found 0 vulnerabilities


D:\Git\miniprogram-cloud-development\cloudfunctions\mysql>

安装好后我们需要把它同步到云开发的环境中,这里就不详细讲解怎么开通创建云开发环境了,可以自行在官方文档进行查找学习

附上地址:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html

测试调用云函数

我们只需要在预先设置的mysql编译模式下后,点击我们的按钮观察控制台打印的结果,和数据库可视化工具是否创建了表和插入数据。

微信开发工具

Navicat

可以看到我们远端的MySQL数据库已经创建了USER表并且插入一条数据。

总结

个人比较推荐直接使用云开发自带的数据库,因为速度快,用外连MySQL的话会收到网络波动的影响。就像我要把这个云函数的超时时间跳到15s

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 爱敲代码的猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 微信小程序云开发—云函数连接MySQL
    • 拉取我的代码或者创建一个新的云开发小程序
      • 创建连接MySQL云函数
        • 测试调用云函数
          • 总结
          相关产品与服务
          云数据库 SQL Server
          腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档