首页 > 编程语言 >全栈开发之小程序 网快速笔记,复习springboot 假期复习一套课程

全栈开发之小程序 网快速笔记,复习springboot 假期复习一套课程

时间:2025-01-11 18:22:31浏览次数:1  
标签:openId String map entity 全栈 springboot put id 复习

第六章登陆与注册  本章主要内容如下

登陆注册相关

<?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.example.hospital.patient.wx.api.db.dao.UserDao">

    <!-- 添加患者账户 -->
    <insert id="insertPatient" parameterType="com.example.hospital.patient.wx.api.db.pojo.UserEntity">
        UPSERT INTO HOSPITAL.PATIENT_USER (
            id,
            open_id,
            nickname,
            photo,
            sex,
            status,
            create_time
        ) VALUES (
            NEXT VALUE FOR HOSPITAL.PATIENT_USER_SEQUENCE,
            #{openId},
            #{nickname},
            #{photo},
            #{sex},
            #{status},
            CURRENT_TIMESTAMP
        )
    </insert>

    <!-- 检查用户是否已注册 -->
    <select id="searchAlreadyRegistered" parameterType="String" resultType="Integer">
        SELECT id
        FROM HOSPITAL.PATIENT_USER
        WHERE open_id = #{openId}
        LIMIT 1
    </select>

    <!-- 患者登录 -->
    <select id="patientLogin" parameterType="map" resultType="com.example.hospital.patient.wx.api.db.pojo.UserEntity">
        SELECT 
            id,
            open_id,
            nickname,
            photo,
            sex,
            status,
            create_time
        FROM HOSPITAL.PATIENT_USER
        WHERE open_id = #{openId} AND password = #{password}
    </select>

</mapper>

  以下是在com.example.hospital.patient.wx.api.db.dao.UserDao接口中声明相关DAO方法的代码:

public interface UserDao {

    /**
     * 插入用户实体对象到数据库中
     * @param entity 要插入的用户实体
     * @return 受影响的行数
     */
    @Transactional
    int insert(UserEntity entity);

    /**
     * 根据openId查询是否已经注册过
     * @param openId 用户的唯一标识openId
     * @return 如果已经注册返回对应的用户ID,如果未注册返回null
     */
    Integer searchAlreadyRegistered(String openId);
}

  

服务层代吗

@Service
public class UserServiceImpl implements UserService {

    @Value("${wechat.app - id}")
    private String appId;

    @Value("${wechat.app - secret}")
    private String appSecret;

    @Resource
    private UserDao userDao;

    @Resource
    private UserInfoCardDao userInfoCardDao;

    @Override
    public HashMap<String, Object> loginOrRegister(String code, String nickname, String photo, String sex) {
        // 用临时授权兑换openId
        String openId = this.getOpenId(code);
        HashMap<String, Object> map = new HashMap<>();
        // 是否为已注册用户
        Integer id = userDao.searchAlreadyRegistered(openId);
        if (id == null) {
            UserEntity entity = new UserEntity();
            entity.setOpenId(openId);
            entity.setNickname(nickname);
            entity.setPhoto(photo);
            entity.setSex(sex);
            userDao.insert(entity);
            map.put("success", true);
            map.put("message", "注册成功");
            map.put("userId", entity.getId());
        } else {
            map.put("success", true);
            map.put("message", "登录成功");
            map.put("userId", id);
        }
        return map;
    }

    private String getOpenId(String code) {
        // 这里应该是调用微信相关接口,根据code获取openId的逻辑
        // 例如使用http请求调用微信的API,这里只是模拟返回一个openId
        return "mockOpenId";
    }
}

以下是截图

 

然后服务层,和实现

控制层

 效果二

 

标签:openId,String,map,entity,全栈,springboot,put,id,复习
From: https://www.cnblogs.com/ZzwWan/p/18666073

相关文章

  • Java基于SpringBoot+Vue的口腔诊所系统的设计与实现(源码+文档+运行视频+讲解视频)
    所需该项目可以在最下面查看联系方式,为防止迷路可以收藏文章,以防后期找不到项目介绍Java基于SpringBoot+Vue的口腔诊所系统的设计与实现(源码+文档+运行视频+讲解视频)系统实现截图技术栈介绍JDK版本:jdk1.8+编程语言:java框架支持:springboot数据库:my......
  • Java基于SpringBoot+Vue的城市公交/地铁/交通查询系统(源码+文档+运行视频+讲解视频)
    所需该项目可以在最下面查看联系方式,为防止迷路可以收藏文章,以防后期找不到项目介绍Java基于SpringBoot+Vue的城市公交/地铁/交通查询系统(源码+文档+运行视频+讲解视频)系统实现截图技术栈介绍JDK版本:jdk1.8+编程语言:java框架支持:springboot数据库:m......
  • 基于SpringBoot+Vue实现的家政服务平台【源码+文档+部署讲解】
    目 录目 录1绪论1.1 研究背景1.2目的和意义1.3论文结构安排2 相关技术2.1B/S结构介绍2.2 MySQL数据库介绍2.3SpringBoot框架介绍3系统分析3.1 系统可行性分析3.1.1技术可行性分析3.1.2经济可行性分析3.1.3运行可行性分析3.2 系......
  • SpringBoot基于java的畅销图书推荐系统的设计与实现
    1.引言在当今的软件开发领域,企业级应用的开发和部署速度直接影响着业务的竞争力。SpringBoot以其轻量级、快速启动和强大的集成能力,成为构建现代企业级应用的首选框架。本文将带您深入了解SpringBoot框架的核心特性,并展示如何利用它构建一个高效、可扩展的系统。2.开发......
  • 基于SpringBoot粉丝公益应援服务平台的设计与实现
    1.引言在当今的软件开发领域,企业级应用的开发和部署速度直接影响着业务的竞争力。SpringBoot以其轻量级、快速启动和强大的集成能力,成为构建现代企业级应用的首选框架。本文将带您深入了解SpringBoot框架的核心特性,并展示如何利用它构建一个高效、可扩展的系统。2.开发......
  • SpringBoot基于Javaweb的二手儿童绘本交易系统的设计与实现
    1.引言在当今的软件开发领域,企业级应用的开发和部署速度直接影响着业务的竞争力。SpringBoot以其轻量级、快速启动和强大的集成能力,成为构建现代企业级应用的首选框架。本文将带您深入了解SpringBoot框架的核心特性,并展示如何利用它构建一个高效、可扩展的系统。2.开发......
  • springboot大学生竞赛管理系统-计算机毕业设计源码03063
    目录摘要1绪论1.1选题背景与意义1.2国内外研究现状1.3系统设计目标1.4论文结构与章节安排2系统分析2.1.1技术可行性分析2.1.2 经济可行性分析2.1.3法律可行性分析2.2系统流程分析2.2.1增加数据流程2.2.2修改数据流程2.2.3删除数据流程2.3......
  • 免费送源码:Java+ springboot+MySQL springboot开放实验室管理系统 计算机毕业设计原创
    摘要随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是使用动态网页开发技术java作为系统的开发语言,MySQL作为后台数据库。整个开发过程首先对开放实验......
  • (免费送源码)计算机毕业设计原创定制:Java+ssm+MySQL springboot家政服务平台管理系统
     摘  要在社会快速发展的影响下,家政迅速发展,大大增加了家政服务信息管理的数量、多样性、质量等等的要求,使家政的管理和运营比过去十年更加困难。依照这一现实为基础,设计一个快捷而又方便的家政服务平台管理系统是一项十分重要并且有价值的事情。对于传统的家政服务信息管......
  • (免费送源码)计算机毕业设计原创定制:Java+B/S+MySQL SpringBoot高校学生档案管理系统
     摘 要21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。论文主要是对高校学生档案管......