SpringBoot+MyBatis+微信小程序案例

本文详细介绍了如何使用SpringBoot集成MyBatis操作MySQL数据库,并创建RESTful API,同时结合微信小程序进行前端数据展示。从数据库建表开始,逐步讲解SpringBoot项目的创建、配置、Service、Controller、Mapper的编写,直至完成小程序页面的数据请求与显示。整个过程涵盖了后端开发和小程序开发的关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在数据库创建表

在这里插入图片描述
说明:id为主键且自增。

2、创建SpringBoot项目

2.1 选择项目类型

在这里插入图片描述

2.2 设置组名包名等(根据个人需求更改)

在这里插入图片描述

2.3 选择依赖

2.3.1 选择Web依赖

在这里插入图片描述

2.3.2 选择MySQL和MyBatis依赖

在这里插入图片描述

2.4 设置项目名和模板名(根据个人需求进行更改)

在这里插入图片描述

设置完成后,选择Finish

3、在resources下新建配置文件application.yml

在这里插入图片描述

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/app0728?serverTimezone=GMT%2B8&useSSL=true
    username: root
    password: 123456


mybatis:
  mapper-locations: classpath:mapping/*.xml

在这里插入图片描述

4、编写文件

4.1 在DemoApplication中添加MapperScan注解

在这里插入图片描述

4.2 级别注意(DemoApplication所在位置应和其他包同级)

在这里插入图片描述

4.3 整体文件结构

在这里插入图片描述

4.4 User类

package com.tjetc.domain;

public class User {
    private Integer id;
    private String name;
    private Integer age;

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    public User() {
    }

    public User(Integer id, String name, Integer age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    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 Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

4.5 UserController类

package com.tjetc.controller;

import com.tjetc.domain.User;
import com.tjetc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController //相当于ResponseBody+Controller
@CrossOrigin 	//解决跨域问题的注解
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/list")
    @ResponseBody
    public List<User> userList(@RequestParam(defaultValue = "")String name){
       List<User> userList  =   userService.listByName(name);
       return userList;
    }
}

4.6 UserService

package com.tjetc.service;

import com.tjetc.domain.User;

import java.util.List;

public interface UserService {
    List<User> listByName(String name);
}

4.7 UserServiceImpl

package com.tjetc.service.impl;

import com.tjetc.domain.User;
import com.tjetc.mapper.UserMapper;
import com.tjetc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> listByName(String name) {
        return userMapper.listByName(name);
    }
}

4.8 UserMapper

package com.tjetc.mapper;

import com.tjetc.domain.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface UserMapper {
    List<User> listByName(String name);
}

4.9 UserMapper.xml文件

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.tjetc.mapper.UserMapper">
    <select id="listByName" resultType="com.tjetc.domain.User">
        select * from user where name like concat('%',#{name},'%')
    </select>
</mapper>

5、环境准备

5.1 注册

建议使用全新的邮箱,没有注册过其他小程序。访问注册页面,耐心完成注册即可。(https://mp.weixin.qq.com/cgi-bin/wx)。当然也可以申请测试号,但是测试账号无法完成支付,发布上线等功能。

5.2 获取APPID

在这里插入图片描述
在这里插入图片描述

5.3 下载路径(建议使用稳定版)

稳定版
https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html

6、 新建小程序项目

6.1 扫码登录

在这里插入图片描述

6.2 新建小程序

在这里插入图片描述

6.3 设置项目的信息

在这里插入图片描述

7、新建文件

7.1 选择pages文件 右键新建文件夹命名为user

在这里插入图片描述

7.2 在user文件夹右键新建page文件,也命名为user(必须同名)

同名可以自动生成以下文件
在这里插入图片描述

7.3 在user.js下的data中新建userList,在onLoad中通过wx.request向后端发送请求

data: {
    userList:[]
},
onLoad: function (options) {
    wx.request({
    //后端的路径
        url: 'http://localhost:8080/user/list',
        method:"GET",
        //content-type:接收的内容类型为json串数据
        header : {
            'content-type' : 'application/json'
        },
        //得到返回的数据
        success : res => {
            this.setData({
              userList : res.data
            })
        }
      })
},

7.4 在user.wxml中添加以下内容

<view wx:for="{{userList}}" >
{{item.id}}--{{item.name}}--{{item.age}}
</view>

7.5 在app.json中将"pages/user/user"移动到pages数组中的第一个

这样它就可以在首页直接显示
在这里插入图片描述

8、启动项目

8.1 在IDEA中启动DemoApplication的main方法

在这里插入图片描述

9、程序运行结果展示

在这里插入图片描述

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香鱼嫩虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值