前后端分离管理系统day01---Springboot+MybatisPlus

news2024/12/23 20:32:47

目录

目录

软件

基础知识

一创建后端项目

注意:

删除多余项

 创建测试类

二 加入mybatis-plus依赖支持 

1.加入依赖码

 2.创建数据库实例/创建用户表/插入默认数据

 创建数据库实例

 创建表

插入数据

 3.配置yml文件

注意:wms01必须是数据库的名字,后端手动配置端口8090,防止前端访问8080时和后端冲突

4.编写测试代码 

①创建entity包和User类

②创建mapper包和UserMapper接口,继承Basemapper

③创建 service包和UserService接口,继承IService

 ④创建impl包和实现类UserServiceImpl,继承ServiceImpl

​编辑

 ⑤编写测试类HelloController

5.创建自己的方法listAll( )

① 在UserService创建自定义listAll( )的方法接口

 ②在UserServiceImpl.java中实现自定义的方法listAll( )(按Alt+回车)​编辑

 ④注入UserMapper

 ⑤在UserMapper中创建方法listAll( )的接口

⑥在resources下创建一个目录mapper

⑦在mapper下创建一个xml配置文件(mybatis的核心配置文件)

 法一,直接在mybatis的核心配置文件中注入,自己写一个select

 法二,在我们的接口中添加注解


软件

Mysql+IDEA

基础知识

注解 | MyBatis-Plus (baomidou.com)

http://t.csdn.cn/yFTWw

一创建后端项目

注意:

Spring Boot 3.0版本不支持JDK8。最低要求是JDK17。对于仍然在使用JDK8的用户,可以选择使用Spring Boot 2.7版本。

Spring Boot 3.0版本由于使用了较老版本的asm类库,无法支持JDK8之后的Java class格式,从而在启动时报错。从Spring Boot 4开始,正式支持JDK8,通过升级配套的asm类库,使其可以支持JDK8的版本。

因此,坚持使用JDK8的用户,建议选用Spring Boot 2.7版本。对于从Spring Boot 3升级到Spring Boot 4/5的老应用,可能会引发很多兼容性问题,建议整个spring生态一起升级到新版本。

删除多余项

 创建测试类

 

 

二 加入mybatis-plus依赖支持 

1.加入依赖码

参考网站:快速开始 | MyBatis-Plus (baomidou.com)

 

点击更新日志查看最新版本

 2.创建数据库实例/创建用户表/插入默认数据

 创建数据库实例

 

 创建表

create table user
(
    id        int                       auto_increment comment  '主键' primary key ,
    no        varchar(20)               null comment '账号',
    name      varchar(100)              not null comment '名字',
    password  varchar(20)               not null comment '密码',
    age       int                       null comment '年龄',
    sex       int                       null comment '性别',
    phone     varchar(20)               null comment '电话',
    role_id   int                       null comment '角色 0超级管理员,1管理员,2普通账户',
    isValid   varchar(4) default 'Y'    null comment '是否有效,Y有效,其他无效'
)
charset = utf8;

插入数据

 

 3.配置yml文件

把application.properties改为application.yml

server:
  port: 8090

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/wms01?useUnicode&characterEncoding=utf-8&useSSL=false&serverTimeZone=GMT%2B8
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: crush

 

注意:wms01必须是数据库的名字,后端手动配置端口8090,防止前端访问8080时和后端冲突

4.编写测试代码 

①创建entity包和User类

package com.wms.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

@Data
public class User {
    private int id;
    private String no;
    private String name;
    private String password;
    private int age;
    private int sex;
    private String phone;
    private int role_id;
    @TableField("isvalid")
    private String isValid;
}

@TableField("isvalid") 可能会报错,只要重新加载Maven就可以了

②创建mapper包和UserMapper接口,继承Basemapper

package com.wms.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wms.entity.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

③创建 service包和UserService接口,继承IService

package com.wms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wms.entity.User;

public interface UserService extends IService<User> {
}

 ④创建impl包和实现类UserServiceImpl,继承ServiceImpl

package com.wms.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wms.entity.User;
import com.wms.mapper.UserMapper;
import com.wms.service.UserService;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}

 ⑤编写测试类HelloController

package com.wms.controller;

import com.wms.entity.User;
import com.wms.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class HelloController {
    @GetMapping
    public String hello(){
        return "hello wms";

    }
    @Autowired
    private UserService userService;
    @GetMapping
    public List<User> list("/list"){
        return userService.list();
    }
}

 运行成功

5.创建自己的方法listAll( )

① 在UserService创建自定义listAll( )的方法接口

 ②在UserServiceImpl.java中实现自定义的方法listAll( )(按Alt+回车)

 选第一个

 

 ④注入UserMapper

 ⑤在UserMapper中创建方法listAll( )的接口

 

 实际上并没有实现,需要自己配置

⑥在resources下创建一个目录mapper

⑦在mapper下创建一个xml配置文件(mybatis的核心配置文件)

 不懂的直接在网上查”mybatis配置头文件模板“

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    	<!--配置内容。。。。。。-->
      </configuration>

 法一,直接在mybatis的核心配置文件中注入,自己写一个select

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//OTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wms.mapper.UserMapper">
<select id="listAll" resultType="com.wms.entity.User">
    select * from user
</select>
</mapper>

测试HelloController

 法二,在我们的接口中添加注解

@Select("select * from user")

 

 测试HelloController

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1021176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM——8.内存分配方式

这篇文章我们来讲一下jvm的内存分配方式 目录 1.概述 1.1jvm运行时数据区 1.2堆空间的分代 1.3对象分配的整体流程 2.具体的内存分配方式 2.1指针碰撞法 2.2空闲列表法 2.3Java虚拟机选择策略 3.小结 1.概述 我们前面在GC那篇文章中写了JVM的内存分配策略&#xff0…

计算机竞赛 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 &#x1f525; 优质…

JWT~~

概述 回顾登录的流程&#xff1a; 接下来的问题是&#xff1a;这个出入证&#xff08;令牌&#xff09;里面到底存啥&#xff1f; 一种比较简单的办法就是直接存储用户信息的JSON串&#xff0c;这会造成下面的几个问题&#xff1a; 非浏览器环境&#xff0c;如何在令牌中记录…

【ABAP】一文了解如何实现ALV下拉列表编辑(附完整示例代码)

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;阿里云社区专家博主&#xff0c;华为云云享专家&#xff0c;腾讯云社区认证作者&#xff0c;CSDN SAP应用技术领域优质创作者。在学习工作中&#xff0c;我通常使用偏后端的开发语言ABAP&#xff0c;SQL进行任务的完成…

聚焦数据库和新兴硬件的技术合力 中科驭数受邀分享基于DPU的数据库异构加速方案

随着新型硬件成本逐渐降低&#xff0c;充分利用新兴硬件资源提升数据库性能是未来数据库发展的重要方向之一&#xff0c;SIGMOD、VLDB、CICE数据库顶会上出现越来越多新兴硬件的论文和专题。在需求侧&#xff0c;随着数据量暴增和实时性的要求越来越高&#xff0c;数据库围绕处…

【TCP】三次握手 与 四次挥手 详解

三次握手 与 四次挥手 1. 三次握手2. 四次挥手三次握手和四次挥手的区别 在正常情况下&#xff0c;TCP 要经过三次握手建立连接&#xff0c;四次挥手断开连接 1. 三次握手 服务端状态转化&#xff1a; [CLOSED -> LISTEN] 服务器端调用 listen 后进入 LISTEN 状态&#xff…

系统架构设计师(第二版)学习笔记----信息安全系统及信息安全技术

【原文链接】系统架构设计师&#xff08;第二版&#xff09;学习笔记----信息加解密技术 文章目录 一、信息安全系统的组成框架1.1 信息安全系统组成框架1.2 信息安全系统技术内容1.3 常用的基础安全设备1.4 网络安全技术内容1.5 操作系统安全内容1.6 操作系统安全机制1.7 数据…

双节履带机械臂小车实现蓝牙遥控功能

1.功能描述 本文示例所实现的功能为&#xff1a;采用蓝牙远程遥控双节履带机械臂小车进行运动。 2.结构说明 双节履带机械臂小车&#xff0c;采用履带底盘&#xff0c;可适用于任何复杂地形。 前节履带抬起高度不低于10cm&#xff0c;可用于履带车进行爬楼行进。 底盘上装有一…

三维模型3DTile格式轻量化压缩文件大小的技术方法研究

三维模型3DTile格式轻量化压缩文件大小的技术方法研究 倾斜摄影三维模型&#xff0c;由于数据量大、复杂度高&#xff0c;轻量化压缩成为其在网络传输和实时渲染中必不可少的环节。以下是几种常用的3DTile格式轻量化压缩技术方法&#xff1a; 几何简化&#xff1a;这是一种最…

Mac中IntelliJ IDEA每次打开立刻“意外退出”的解决方法

本文介绍在Mac电脑中&#xff0c;无法打开IntelliJ IDEA软件&#xff0c;出现“意外退出”的报错提示&#xff0c;且重启软件依然出现这一情况的通用解决思路与方法。 最近&#xff0c;不知道怎么回事&#xff0c;点击图标准备打开IntelliJ IDEA软件时&#xff0c;很快就会出现…

ADB底层原理

介绍 adb的全称为Android Debug Bridge&#xff0c;就是起到调试桥的作用。通过adb我们可以在Eclipse/Android Studio中方便通过DDMS来调试Android程序&#xff0c;说白了就是debug工具。adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的and…

【逗老师的无线电】艾德克斯TTL串口转网口

最近手搓了一个可以用于艾德克斯ITECH电源或者电子负载的TTL串口转网口的模块&#xff0c;用上之后&#xff0c;上位机软件就可以配置以太网IP连接设备啦。就像这样。 一、ITECH TTL接口定义 二、整体逻辑 嗯&#xff0c;就这么简单。IT9000控制软件的Ethernet功能就是直接S…

【校招VIP】测试方案分析之压力测试

考点介绍&#xff1a; 软件压力测试是校招面试里面经常会碰到的题型。 基本思路是在计算机数量较少或系统资源匮乏的条件下运行测试。要求面试者了解压力测试的基本概念&#xff0c;压测的目的&#xff0c;压测的要求以及说出实例。 测试方案分析之压力测试-相关题目及解析内容…

从理解js双重递归执行顺序到用递归方式实现二叉树中序遍历

今天在学习力扣上94题二叉树的中序遍历时&#xff0c;js的实现方法之一是递归&#xff0c;但是函数内递归是双重&#xff0c;花了一些时间来理解双重递归调用的执行顺序。 先看如下例子&#xff0c;参考文章&#xff08;双递归的执行过程理解&#xff09; 示例代码如下&#xf…

Vue基础之模板语法介绍

前言 上篇我分享了关于Vue的入门&#xff0c;简单的入了个门。本篇文章将要分享的内容为Vue的模板语法。 一、插值 1.1、文本 1.2、html 1.3、属性 1.4、class、style绑定 1.5、表达式 在Vue的模板语法中&#xff0c;插值是一种常用的方式来动态地将数据渲染到视图中。Vue使用双…

CentOS 7 安装Libevent

CentOS 7 安装Libevent 1.下载安装包 新版本是libevent-2.1.12-stable.tar.gz。&#xff08;如果你的系统已经安装了libevent&#xff0c;可以不用安装&#xff09; 官网&#xff1a;http://www.monkey.org/~provos/libevent/ 2.创建目录 # mkdir libevent-stable 3.解压 …

数字森林:无人机航测技术在林业调查中的应用

林业调查是林业工作的基础&#xff0c;对于森林资源的管理、规划、保护、经济发展和农业种植等方面都具有重要的意义。传统林业调查主要依赖人工进行&#xff0c;存在工作效率低、数据精度低、数据分析困难、受地形限制、无法实时监测等缺陷。 随着科技的不断发展&#xff0c;无…

DJYOS开源往事三:DJYOS源码发布网络实证

在DJYOS经营开发社区的时候&#xff0c;DJYOS的代码更新记录是在自己的官网上。然后散发到各种技术论坛上。这里我实证的举例以第三方网站为数据源头&#xff0c;罗列2009年之后发布的一些源码实证信息。 1、2009年2月2日&#xff1a;djyos含example的0.2.0版本发布了&#xf…

JDK1.8下载

https://www.oracle.com/cn/java/technologies/downloads/#java8-windows

git log和git reflog命令

工作区 版本历史库 ,暂存区 (1)git log (2)git log --oneline (3)git log -n4 --graph (4)git log -n4 --graph --oneline (5)git log --all (6)git log master 查看master分支历史记录(1)HEAD指向当前工作commit,是个变量 (2)git reset HEAD^,git log找不到之前的commi…