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

2023-09-18 23:08:31

目录

目录

软件

基础知识

一创建后端项目

注意:

删除多余项

 创建测试类

二 加入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

更多推荐

探索智能应用的基石:多模态大模型赋能文档图像处理

目录0写在前面1文档图像分析新重点2token荒:电子文档助力大模型3大模型赋能智能文档分析4文档图像大模型应用可能性4.1专有大模型4.2多模态模型4.3设计思路总结0写在前面中国智能产业高峰论坛(CIIS@2023)旨在为政企研学各界学者专家提供同台交流的机会,在成果分享、观点碰撞、经验互鉴中,共促智能科技引领行业

appium默认60秒关闭应用的问题

【软件测试行业现状】2023年了你还敢学软件测试?未来已寄..测试人该何去何从?【自动化测试、测试开发、性能测试】问题:appium默认启动一个应用的session过期时间是60秒到时间会自动停了刚启动的应用,工作台打印:info:[debug]Weshutdownbecausenonewcommandscamein的

<C++> 红黑树模拟实现map和set

使用一颗红黑树同时封装map和set。红黑树源码#pragmaonce#include<cassert>#include<iostream>#include<utility>usingnamespacestd;//红黑树结点颜色enumColour{RED,BLACK,};template<classK,classV>

【直播预约中】 腾讯大数据 x StarRocks|构建新一代实时湖仓

随着信息时代的兴起,数据已成为推动业务决策和创新的核心要素;结构化、半结构化等多种类型的数据呈现爆炸式增长,如何高效处理和分析海量数据已经成为关键挑战,结合传统数仓与数据湖优势的湖仓一体(Lakehouse)架构崭露头角,成为大数据领域势不可挡的趋势;基于湖仓一体架构,企业可以基于一份数据,满足BI报表、交互式数据探查

R语言STAN贝叶斯线性回归模型分析气候变化影响北半球海冰范围和可视化检查模型收敛性...

原文链接:http://tecdat.cn/?p=24334像任何统计建模一样,贝叶斯建模可能需要为你的研究问题设计合适的模型,然后开发该模型,使其符合你的数据假设并运行(点击文末“阅读原文”获取完整代码数据)。相关视频1.了解Stan统计模型可以在R或其他统计语言的各种包中进行拟合。但有时你在概念上可以设计的完美模型

Vue3为什么推荐使用ref而不是reactive

为什么推荐使用ref而不是reactivereactive本身具有很大局限性导致使用过程需要额外注意,如果忽视这些问题将对开发造成不小的麻烦;ref更像是vue2时代optionapi的data的替代,可以存放任何数据类型,而reactive声明的数据类型只能是对象;先抛出结论,再详细说原因:非必要不用reactive

Vue3.3 新特性 - 初体验

前言Vue3.3是Vue.js框架的最新版本,它带来了一些令人兴奋的新特性和改进。本文将对一些重要的新特性进行简要介绍,并通过示例代码进行说明。CompositionAPIVue3.3引入了CompositionAPI,这是一个全新的API风格,旨在提供更好的代码组织和可重用性。与之前的OptionsAPI相比,Com

BabelEdit 5.0.1 Crack

BabelEdit加强软件本地化。BabelEdit是处理json、yaml、php、arb、vue、properties、resx或xliff翻译文件的可靠解决方案。旨在使开发过程更加简化和高效。下载BabelEdit5.0.0对于Windows也适用于macOS和LinuxBabelEdit-适用于Web和应用程序

React核心概念

JSX基础语法在React中,使用JSX来描述页面。使用JSX来描述页面时,有如下的一些语法规则:根元素只能有一个JSX中使用JavaScript表达式。表达式在花括号{}内属性值指定为字符串字面量,或者在属性值插入一个JavaScript表达式style对应样式对象,class要写作className注释需要写在花括

gin 基本使用

gin初体验import("net/http""github.com/gin-gonic/gin")funcmain(){r:=gin.Default()r.GET("/ping",func(c*gin.Context){c.JSON(http.StatusOK,gin.H{"message":"pong",})})r

ESP32C3 PWM输出

目前对于遥控双发差速小飞机计划采用如下架构:ESP32C3做主控,兼具遥控收发和飞行控制锂电池供电,带电量检测双发,720空心杯电机,55mm桨,带电流检测MPU6050加速度计和陀螺仪预留4个控制信号输出马达控制要用到pwm,今天把esp32c3的pwm跑一下。简介esp32c3中把pwm外设称为“LEDPWM控制器

热文推荐