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

目录

目录

软件

基础知识

一创建后端项目

注意:

删除多余项

 创建测试类

二 加入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: 8090spring:datasource:url: jdbc:mysql://localhost:3306/wms01?useUnicode&characterEncoding=utf-8&useSSL=false&serverTimeZone=GMT%2B8driver-class-name: com.mysql.jdbc.Driverusername: rootpassword: 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 {@GetMappingpublic String hello(){return "hello wms";}@Autowiredprivate UserService userService;@GetMappingpublic 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 configurationPUBLIC "-//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.xdnf.cn/news/138943.html

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

相关文章

[maven] scopes 管理 profile 测试覆盖率

[maven] scopes & 管理 & profile & 测试覆盖率 这里将一些其他的特性和测试覆盖率&#xff08;主要是 jacoco&#xff09; scopes maven 的 scope 主要就是用来限制和管理依赖的传递性&#xff0c;简单的说就是&#xff0c;每一个 scope 都有其对应的特性&…

WebGL 初始化着色器

目录 前言 初始化着色器的7个步骤 创建着色器对象&#xff08;gl.createShader&#xff08;&#xff09;&#xff09; gl.createShader&#xff08;&#xff09;规范 gl.deleteShader&#xff08;&#xff09;规范 指定着色器对象的代码&#xff08;gl.shaderSource&…

Linux高并发服务器开发第四章:Linux网络编程

1. 网络结构模式 C/S结构 简介 服务器 - 客户机&#xff0c;即 Client - Server&#xff08;C/S&#xff09;结构。C/S 结构通常采取两层结构。服务器负责数据的管理&#xff0c;客户机负责完成与用户的交互任务。客户机是因特网上访问别人信息的机器&#xff0c;服务器则是…

【结构型】代理模式(Proxy)

目录 代理模式(Proxy)适用场景代理模式实例代码&#xff08;Java&#xff09; 代理模式(Proxy) 为其他对象提供一种代理以控制对这个对象的访问。Proxy 模式适用于在需要比较通用和复杂的对象指针代替简单的指针的时候。 适用场景 远程代理 (Remote Proxy) 为一个对象在不同…

10分钟设置免费海外远程桌面

前言 本教程将向您介绍如何使用 Amazon Lightsail 服务的免费套餐轻松搭建属于您的远程桌面。依托于 Amazon 全球可用区&#xff0c;您可以在世界各地搭建符合您配置需求的远程桌面。 本教程需要先拥有亚马逊云科技海外账户。现在注册亚马逊云科技账户可以享受12个月免费套餐…

Python与数据分析--每天绘制Matplotlib库实例图片3张-第1天

目录 1.实例1--Bar color demo 2.实例2--Bar Label Demo 3.实例3--Grouped bar chart with labels 1.实例1--Bar color demo import matplotlib.pyplot as plt # 支持中文 plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 plt.rcParams[axes.unicode_minus…

Linux系统编程——网络编程的学习

Linux系统编程学习相关博文 Linux系统编程——文件编程的学习Linux系统编程——进程的学习Linux系统编程——进程间通信的学习Linux系统编程——线程的学习 Linux系统编程——网络编程的学习 一、概述1. TCP/UDP2. 端口号3. 字节序4. Sockt服务器和客户端的开发步骤1. 服务器2…

Vue路由与node.js环境搭建

目录 前言 一.Vue路由 1.什么是spa 1.1简介 1.2 spa的特点 1.3 spa的优势以及未来的挑战 2.路由的使用 2.1 导入JS依赖 2.2 定义两个组件 2.3 定义组件与路径对应关系 2.4 通过路由关系获取路由对象 2.5 将对象挂载到vue实例中 2.6 定义触发路由事件的按钮 2.7 定…

利用cms主题构造木马(CVE-2022-26965)

简介 CVE-2022-26965是Pluck CMS 4.7.16版本存在一个远程shell上传执行漏洞。 攻击者可利用此漏洞通过构造恶意的主题包进行上传并执行&#xff0c;未经授权访问服务器&#xff0c;造成潜在的安全隐患。 过程 1.打开环境&#xff0c;查看源码&#xff0c;发现login.php 2.进…

如何制作一个成功的超市购物小程序

随着互联网的普及和移动支付的便捷性&#xff0c;越来越多的消费者选择在网上购物&#xff0c;这也促使越来越多的商家开始搭建自己的小程序商城。对于超市便利店来说&#xff0c;拥有一个便捷、易用的小程序商城能够吸引更多的消费者&#xff0c;提高销售效率。那么如何快速搭…

Eclipse ABAP ADT 集成详细安装教程

最近看到网上有个源码使用CDS做的&#xff0c;然后看了一下原来还可以用eclipse&#xff0c;趁热打铁&#xff0c;试了一把&#xff0c;最后成功了&#xff0c;中间可能会有一些报错&#xff0c;可以自己慢慢解决&#xff0c;大概就是这样的。 SAP的开发&#xff0c;有三种开发…

[设计模式] 浅谈SOLID设计原则

目录 单一职责原则开闭原则里氏替换原则接口隔离原则依赖倒转原则 SOLID是一个缩写词&#xff0c;代表以下五种设计原则 单一职责原则 Single Responsibility Principle, SRP开闭原则 Open-Closed Principle, OCP里氏替换原则 Liskov Substitution Principle, LSP接口隔离原则 …

快速用Python进行数据分析技巧详解

概要 一些小提示和小技巧可能是非常有用的&#xff0c;特别是在编程领域。有时候使用一点点黑客技术&#xff0c;既可以节省时间&#xff0c;还可能挽救“生命”。 一个小小的快捷方式或附加组件有时真是天赐之物&#xff0c;并且可以成为真正的生产力助推器。所以&#xff0…

华为云,让AI算力入山河

整个2023年&#xff0c;全球科技界都在为大模型沸腾。云计算产业作为AI大模型与产业场景间的最短路径&#xff0c;自然也在大模型浪潮中备受关注。目前阶段&#xff0c;云厂商已经纷纷入局大模型&#xff0c;从多个角度探索大模型带给云计算产业的可能性。 但我们往往会忽略这样…

React进阶

TODO1 组件生命周期 React 组件生命周期 | 菜鸟教程 (runoob.com)https://www.runoob.com/react/react-component-life-cycle.html 什么是组件生命周期 在 React 中&#xff0c;组件生命周期是指组件从创建到销毁期间经历的一系列阶段。在每个阶段&#xff0c;React 给予我…

【力扣每日一题】2023.9.21 收集树中金币

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一棵树&#xff0c;不过这棵树不是普通的树&#xff0c;而是无向无根树。给我们一个二维数组表示节点之间的连接关系&#xff…

Python —— excel文件操作(超详细)

背景 很多公司还是用excel去管理测试用例的&#xff0c;所以为了减少重复繁琐的导出导出工作&#xff0c;学会如何用代码操作excel表格很实用~ 1、读取excel文件基本步骤 1、操作excel的一些库 1、xlrd&#xff1a;读取库&#xff0c;xlwt&#xff1a;写入&#xff0c;现在…

肖sir___环境的讲解详情__002

一、环境讲解 1、jdk 什么是JDK&#xff1f;JDK的作用&#xff1f; JDK是java语言的软件开发工具包&#xff0c;能解释java程序&#xff0c;编译java语言&#xff0c;没有jdk的话无法编译Java程序。 包含了各种类库和工具&#xff0c;机器不是直接识别语言的&#xff0c;会借助…

深度学习——线性神经网络二

深度学习——线性神经网络二 文章目录 前言一、softmax回归1.1. 分类问题1.2. 网络架构1.3. 全连接层的参数开销1.4. softmax运算1.5. 小批量样本的向量化1.6. 损失函数1.6.1. 对数似然1.6.2. softmax及其导数1.6.3. 交叉熵损失 1.7. 信息论基础1.7.1 熵1.7.2. 信息量1.7.3. 重…

JUC第六讲:关键字volatile详解

JUC第六讲&#xff1a;关键字volatile详解 相比Sychronized(重量级锁&#xff0c;对系统性能影响较大)&#xff0c;volatile提供了另一种解决可见性和有序性问题的方案&#xff0c;本文是JUC第六讲&#xff0c;volatile关键字详解。 文章目录 JUC第六讲&#xff1a;关键字volat…