选毕业设计项目的时候阴差阳错选了微信小程序,就想着毕业搞点新东西(其实微信小程序也推出好久年了,就是学校做的人比较小而已)。那时候(也就是几个月前)啥也不会,就会一点数据库,选了小程序之后第一个反应就是数据要怎么存取?折腾了一段时间后发现了两种方式,云开发和通过后端与数据库交互。云开发比较方便,但是数据库主要是用nosql,可能不是所有人都了解,所以本篇主要是介绍如何通过访问后台与Mysql数据库交互实现数据存储。
前置条件:微信小程序开发者工具;成功搭建ssm环境;Mysql5.7;Ajax

文章目录

  • 下载安装微信开发者工具
  • 创建小程序
  • 新建test目录
  • 创建测试表account
  • 创建实体类
  • 编写dao接口方法
  • 编写service接口方法及实现类
  • 编写控制器方法
  • 小程序发送请求
  • 小程序页面显示数据
  • 结尾

下载安装微信开发者工具

链接:https://pan.baidu.com/s/10asK_UXmIJpPRHRnvs37bw
提取码:gzb3

微信扫码授权登录

创建小程序

  • 目录可以自定义,建议不要放在C盘;
  • 这里主要是简单演示一下流程,所有AppID选择“使用测试号”,后端服务选择“不使用云服务”;
  • 但是自己开发小程序的时候建议还是注册一个AppID,可以使用微信提供的云函数等功能;

    初始的模样,hello world
index.js 逻辑代码文件,处理小程序的业务逻辑
index.json 配置文件,小程序的导航栏样式,窗口样式等
index.wxml 相当于html文件,编写页面
index.wxss 相当于css文件,编写页面样式

新建test目录

  1. pages右键-新建目录-text
  2. text目录右键-新建pages-text

    打开app.json将“pages/text/text”放到首行,这样默认优先显示的就是text目录的内容了

创建测试表account

打开mysql数据库>创建数据库eesy(随便命名)>创建表account(随便命名)

创建实体类

这里默认ssm已经搭建好并且连接数据库了,创建account实体类映射数据库的表

package com.ssm.domain;import java.io.Serializable;/*** @author 自定义* date 2020-03-29*/
public class Account implements Serializable {private Integer id;private String name;private Float money;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Float getMoney() {return money;}public void setMoney(Float money) {this.money = money;}@Overridepublic String toString() {return "Account{" +"id=" + id +", name='" + name + '\'' +", money=" + money +'}';}
}

编写dao接口方法

简单的查询所有

package com.ssm.dao;import com.ssm.domain.Account;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
/*** @author 自定义* date 2020-03-29*/
@Repository
public interface IAccountDao {/*** 查询所有账户* @return*/@Select("select * from account")List<Account> findAll();}

编写service接口方法及实现类

service接口

package com.ssm.service;import com.ssm.domain.Account;
import java.util.List;/*** @author 自定义* date 2020-03-29*/
public interface IAccountService {/*** 查询所有账户* @return*/List<Account> findAll();
}

service实现类

package com.ssm.service.Impl;import com.ssm.dao.IAccountDao;
import com.ssm.domain.Account;
import com.ssm.service.IAccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;/*** @author 自定义* date 2020-03-29*/
@Service("accountService")
public class IAccountServiceImpl implements IAccountService {@Autowiredprivate IAccountDao accountDao;@Overridepublic List<Account> findAll() {return accountDao.findAll();}
}

编写控制器方法

package com.ssm.controller;import com.ssm.domain.Account;
import com.ssm.service.IAccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import java.util.List;/*** @author 自定义* date 2020-02-16*/
@Controller
@RequestMapping("/account")
public class AccountController {@Autowiredprivate IAccountService accountService;@RequestMapping("/findAll2")public @ResponseBody List findAll2(){List<Account> all = accountService.findAll();return all;}
}


假如报500错误
maven导入

    <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.9.0</version></dependency>

springMVC.xml开启框架注解支持

<mvc:annotation-driven ><mvc:message-converters><bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name="objectMapper"><bean class="com.fasterxml.jackson.databind.ObjectMapper"><property name="dateFormat"><bean class="java.text.SimpleDateFormat"><constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" /></bean></property></bean></property></bean></mvc:message-converters></mvc:annotation-driven>

小程序发送请求

app.js>globalData>添加后台访问路径

test.js文件中引用app.js

编写getaccount函数请求后台获取account数据,console.log()在控制台打印出来

  /*** 生命周期函数--监听页面加载*/onLoad: function (options) {this.getaccount()},
getaccount(){var that=thiswx.request({url: app.globalData.baseUrl + '/account/findAll2',header: {'content-type': 'application/json' // 默认值,get方法   },success: function (res) {console.log(res.data)}})
},

小程序页面显示数据

初始化accountlist数组

将请求成功的数据出入accountlist数组中

getaccount(){var that=thiswx.request({url: app.globalData.baseUrl + '/account/findAll2',header: {'content-type': 'application/json' // 默认值,get方法   },success: function (res) {for(var i=0;i<res.data.length;i++){var string='accountlist['+i+']'that.setData({[string]:{name:res.data[i].name,money:res.data[i].money}})}console.log(that.data.accountlist)}})
},

text.wxml
循环读取accountlist的数据

<!--pages/text/text.wxml-->
<view wx:for="{{accountlist}}" wx:for-item="item"><text>{{item.name}}</text><text>{{item.money}}</text>
</view>

结尾

简单介绍了如何通过ajax实现请求后端查询数据库的数据,新增删除更新数据库数据也是一样的原理,美化页面的样式可以编写wxss文件。好久没写博客了,忙着准备答辩,答辩没想象中难,主要还是要对自己的项目熟悉吧。

感觉有用就点个赞呗~

毕设微信小程序之访问ssm后台连接数据库相关推荐

  1. [精品毕设]微信小程序在线考试系统+后台管理|前后分离VUE

    <微信小程序在线考试系统+后台管理系统|前后分离VUE>该项目含有源码.文档等资料.配套开发软件.软件安装教程.项目发布教程等 本系统包含微信小程序前台和Java做的后台管理系统,该后台采 ...

  2. 微信小程序家庭理财系统+后台管理系统|前后分离VUE

    <微信小程序家庭理财系统+后台管理系统|前后分离VUE>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 本系统包含微信小程序前台和Java做的后台管理系统,该后台采 ...

  3. 计算机实战项目、毕业设计、课程设计之 [含论文+辩论PPT+源码等]微信小程序家庭理财系统+后台管理|前后分离VUE[包运行成功

    <微信小程序家庭理财系统+后台管理系统|前后分离VUE>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 本系统包含微信小程序前台和Java做的后台管理系统,该后台采 ...

  4. 微信小程序保险管理平台+后台管理系统

    <微信小程序保险管理平台+后台管理系统>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 本系统包含微信小程序做的保险管理前台和Java做的后台管理系统: 微信小程序 ...

  5. 微信小程序校园活动管理系统+后台管理系统

    <微信小程序校园活动管理系统+后台管理系统>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 本系统包含微信小程序做的校园活动前台和Java做的后台管理系统: 微信小 ...

  6. 微信小程序汽车租赁平台+后台管理系统

    <微信小程序汽车租赁平台+后台管理系统>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 本系统包含微信小程序做的汽车租赁前台和Java做的后台管理系统: 微信小程序 ...

  7. 微信小程序在线考试管理系统+后台管理系统

    <微信小程序在线考试管理系统+后台管理系统>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 本系统包含微信小程序做的在线考试前台和Java做的后台管理系统: 微信小 ...

  8. 微信小程序旅游服务平台+后台管理系统|前后分离VUE

    <微信小程序旅游服务平台+后台管理系统|前后分离VUE>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 本系统包含微信小程序前台和Java做的后台管理系统,该后台采 ...

  9. 微信小程序心理健康服务平台+后台管理系统|前后分离VUE

    <微信小程序心理健康服务平台+后台管理系统|前后分离VUE>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 本系统包含微信小程序前台和Java做的后台管理系统,该后 ...

最新文章

  1. response设置content-type
  2. 降噪电路_拆解报告:Mobvoi出门问问 Ticpods ANC 真无线降噪耳机
  3. 关于java几种输出的区别
  4. IOS开发基础之大转盘案例
  5. 为什么我学了6个月Python,还是找不到工作?
  6. 《Redis官方文档》Data types—数据类型
  7. 计算机画画作品 人物 游泳,夏天主题的儿童画-游泳的儿童绘画作品
  8. c语言继承与派生作用,C++中继承与派生是如何实现的?
  9. oracle迁移vg,不同VG之间的FS迁移
  10. systemd.generator — systemd unit generators
  11. 问题:使用pandas中的DataFrame写入csv文件多出一行unnamed,如何解决呢??
  12. 写个脚本快速启动前后端
  13. 最近几年出现的新技术
  14. kafka 新加入副本_Apache-Kafka 核心组件和流程-控制器
  15. 全国计算机三级网络技术题库南开,计算机三级上机-适用于三级网络技术数据库等(南开100题).doc...
  16. Python常用模块15-python的configparser模块
  17. php应用CPU使用率100%解决思路
  18. 企业工商数据-------大数据时代下的营销利器
  19. 北美常见水果与蔬菜的中英文对照
  20. Linux 磁盘管理 : dir dirs dircolors 命令详解

热门文章

  1. GSYVideoPlayer视频播放器
  2. java json转换xml_xml和JSON格式相互转换的Java实现
  3. ROS aubo i5 noetic版本 机械臂 Ubuntu 20.04
  4. 13. Transformer(下)
  5. MAYA2018中按到f或a摄像机失效解决办法
  6. DC-DC直流升压高压电源模块HRA5V12V24V转正负50V100V150V180V200V250V300V
  7. Java内存模型 之 happens-before
  8. php论坛仿v2ex,一个仿V2EX的开源二次元论坛程序|Vmoex安装教程
  9. Go编程 技巧 for range 和channl(除了select的另外一种)
  10. C语言课程训练系统题-二维数组cqupt