Springboot简单实现用户登录操作

2023-11-09

从0开始开发SpringBoot+vue前后端分离项目


一、创建Springboot项目

通过idea自动创建项目,这里不再一一赘述了。

二、引入依赖

目前引入的依赖有lombok、mysql、mybatis
可以直接复制以下代码,放置在pom.xml<dependencies> </dependencies>这个标签之间

  <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.3</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok-maven-plugin -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok-maven-plugin</artifactId>
            <version>1.18.20.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>

三、插件推荐

点击File->Settings->Plugins搜索以下插件安装

1.Mybatis Log Free

安装完成后需要点击Tools->Mybatis Log Free才可正常使用
使用效果如下,后面使用过程中再进行详细介绍
在这里插入图片描述

2.Free MyBatis Tools

安装完成后,可以让mapper中的对象和Mapper.xml之间来回跳转,其次可以核对mapper中的方法和xml中id是否一致,不一致肯定不能跳转啊
在这里插入图片描述

四、创建数据库表

在Navicat中创建一个名字为mybatis的数据库,新建查询,复制下面代码并执行

-- auto-generated definition
create table user_info
(
    user_id       bigint auto_increment comment '用户Id'
        primary key,
    username      varchar(50) default ''                null comment '用户名',
    user_password varchar(50) default ''                null comment '用户密码',
    create_time   timestamp   default CURRENT_TIMESTAMP null comment '创建时间',
    update_time   timestamp   default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间'
);



user_info表生成后
在这里插入图片描述

五、配置文件

这里我是用的application.yml
直接贴源码吧

#端口号
server:
  port: 8082
#mysql
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    #请修改成你的mysql账户
    username: root
    #请修改成你的Mysql密码
    password:
    url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=true
#开启mybaits日志
logging:
  level:
    com.dl.mybatis02.mapper:
      debug
#mybatis配置
mybatis:
  #mapper.xml的地址,这里一定要填,不然不能映射
  mapper-locations: classpath:mapper/*.xml
  #驼峰命名法,可要可不要
  configuration:
    map-underscore-to-camel-case: true

六、实体类

User:

package com.dl.mybatis02.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data  //省去getter setter方法
@AllArgsConstructor  //有参构造
@NoArgsConstructor  //无参构造

public class User {
    private Long userId;
    private String userName;
    private String userPassword;
    private Date createTime;
    private Date updateTime;
}

七、Mapper

1.Mapper接口:

创建一个UserMapper的接口

package com.dl.mybatis02.mapper;

import com.dl.mybatis02.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;


@Mapper
public interface UserMapper {
    /**
    * @Description:登录
    * @param: [username, password]
    * @return: com.dl.mybatis02.entity.User
    * @Author: XXX
    * @Date: 2023/3/30
    */
    User login(@Param("username") String username, @Param("password") String password);
}

2.Mapper.xml:

在resource目录下创建一个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.dl.mybatis02.mapper.UserMapper">
    <select id="login" resultType="com.dl.mybatis02.entity.User" parameterType="com.dl.mybatis02.entity.User">
        select * from user_info where username=#{username} and user_password=#{password}
    </select>
</mapper>

如果这两个写对了的情况下, 会出现2个小箭头

八、测试

package com.dl.mybatis02;

import com.dl.mybatis02.entity.User;
import com.dl.mybatis02.mapper.UserMapper;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.time.LocalDateTime;

@SpringBootTest
@Slf4j
class Mybatis02ApplicationTests {
    @Autowired
    private UserMapper userMapper;

    @Test
    void userMapperTest() {
        User user=new User();
        user.setUserName("xxx");
        user.setUserPassword("123456");
        userMapper.login(user.getUserName(), user.getUserPassword());
        log.info("用户登录成功!!"+ LocalDateTime.now());

    }

}

九、结果展示

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Springboot简单实现用户登录操作 的相关文章

随机推荐

  • md文档自动上传图片

    Typora设置图片自动上传图床教程 终于可以快乐的写markdown文档啦 先上效果 1 准备 注意软件不要随便无脑装 找一个固定装软件的目录 方便管理 安装 Typora 一个贼好用的md文件编写软件 传送门 安装 Picgo 图片上传
  • CNN的可视化

    前言 前文中已经实现了SimpleConvNet类 本文将通过把卷积层可视化 去了解在CNN层中到底实现了怎样的处理 第一层权重的可视化 例如 假设第1层的卷积层的权重的形状是 30 1 5 5 即30个大小为5 5 通道为1的滤波器 滤波
  • llvm 常见命令

    llvm作为一套成熟的编译体系 提供了很多命令用于不同阶段的使用 通过这些命令的组合使用 可以将一个完整的编译过程 拆分成多个步骤 llvm as 将IR文件编译为二进制文件 默认生成后缀名为 bc的文件 也可以使用 o指定输出 llvm
  • react+ts+antd创建项目流程

    基于nodejs和vite的安装 ant design官网地址 组件总览 Ant Design gitee io 操作流程 用vite创建项目 npm init vite latest 安装依赖 npm i 安装路由 npm i react
  • MD5加密算法解析

    背景 网上看了几篇关于MD5加密算法的文章 有些地方不太明白 就去看了维基百科上的英文介绍 逻辑很清晰 所以整理出来 1 简介 MD5即Message Digest Algorithm 5 在90年代初由MIT的计算机科学实验室和RSA D
  • C#软件开发实例.私人订制自己的屏幕截图工具(五)针对拖拽时闪烁卡顿现象的优化

    本实例全部文章目录 一 功能概览 二 创建项目 注册热键 显示截图主窗口 三 托盘图标及菜单的实现 四 基本截图功能实现 五 针对拖拽时闪烁卡顿现象的优化 六 添加配置管理功能 七 添加放大镜的功能 八 添加键盘操作截图的功能 九 使用自定
  • Centos7加入AD域并通过域账号登录

    环境 windows server 2012系统安装AD域服务 安装完毕创建用户 安装过程百度搜索 创建用户 打开服务器管理器 AD DS 右击服务器选择 AD用户和计算机 创建组织单位 选择你安装的域名服务 空白处右击 新建 组织单位 选
  • 【大数据实验1】note1:安装CentOS 7.7(桥接模式)

    note1 安装CentOS 7 7 桥接模式 1 安装VMware Workstation Pro 2 安装CentOS7 7 3 安装VMwareTools 4 注意点 为了实验做准备 冲鸭 实验具体操作步骤 cloudstack安装部
  • python自动化笔记(十)——openpyxl模块,操作excel管理测试数据

    这里利用第三方库openpyxl来操作excel管理测试数据 注意 此模块只支持xlsx读写操作 旧版的xls不支持 安装第三方库 pip install openpyxl 平常操作excel的流程 3个对象 工作簿 Workbook 表单
  • Gym - 102263 B - Road to Arabella

    原题内容 Ayoub and Kilani felt board while they are going to ArabellaCPC in Amman Irbid road so Kilani invented a new game t
  • 基于STM8的TIM定时器操作---STM8-第三章

    1 综述 STM8S提供三种类型的 TIM 定时器 高级控制型 TIM1 通用型 TIM2 TIM3 TIM5 和基本型定时器 TIM4 TIM6 它们虽有不同功能但都基于共同的架构 此共同的架构使得采用各个定时器设计应用变得非常容易与方便
  • 三目运算符

    三目运算符 又称条件运算符 是计算机语言 c c java等 的重要组成部分 它是唯一有3个操作数的运算符 所以有时又称为三元运算符 一般来说 三目运算符的结合性是右结合的 定义 对于条件表达式b x y 先计算条件b 然后进行判断 如果b
  • yolov5训练报错: a view of a leaf Variable that requires grad is being used in an in-place operation

    梯度信息丢失错误 报错详情 报错原因 解决方法 报错详情 RuntimeError a view of a leaf Variable that requires grad is being used in an in place oper
  • python简单爬虫实例,爬取CSDN文章

    查看要爬的网页的源代码 准备爬取所有文章和链接 代码 import requests from bs4 import BeautifulSoup url https blog csdn net LI AINY headers User Ag
  • 基于Spark的分布式数据处理和机器学习技术【上进小菜猪大数据】

    上进小菜猪 沈工大软件工程专业 爱好敲代码 持续输出干货 大数据已经成为当今社会中一个重要的资源和挑战 随着数据规模的不断增长 如何高效地处理和分析这些数据成为了一个关键问题 本文将介绍基于Apache Spark的分布式数据处理和机器学习
  • 【机器学习】通俗易懂决策树(原理篇)

    决策树 引言 决策树是什么 怎样利用决策树来帮助我们分类 怎样构建自己的决策树 决策树是一种类似流程图的结构 其中每个内部节点代表一个属性的 测试 例如硬币翻转出现正面朝上或反面朝上 每个分支代表测试的结果 每个叶节点代表一个类标签 在计算
  • flutter_tools/gradle/app_plugin_loader.gradle‘ as it does not exist

    背景 flutter 1 17 hotfix5 因为使用flutter crate 来创建新项目的 在之前的windows电脑能够正常运行 但是在mac电脑上死活运行不上去 查了很久 github上也查看了相关issuer 发现解决问题的方
  • MPP数据库简介及架构分析

    目录 什么是MPP 特性 并行处理 超大规模 数据仓库真正适合什么 典型的分析工作量 数据集中化 线性可伸缩性 MPP架构技术特性 数据库架构分析 Shared Everything Shared Disk Share Memory Sha
  • elastic weight consolidation

    GitHub kuc2477 pytorch ewc Unofficial PyTorch implementation of DeepMind s PNAS 2017 paper Overcoming Catastrophic Forge
  • Springboot简单实现用户登录操作

    从0开始开发SpringBoot vue前后端分离项目 文章目录 从0开始开发SpringBoot vue前后端分离项目 一 创建Springboot项目 二 引入依赖 三 插件推荐 1 Mybatis Log Free 2 Free My