Spring Boot 增删改查(mybatis-plus)

在GitHub上已经开源,有全部源码,有问题可以在GitHub上提问https://github.com/sky41/MySQL.git
1、创建(User) 实体类

package com.my.mysql.entity;  
  
import lombok.*;  
  
@Setter  
@Getter  
@Data  
@NoArgsConstructor  
//@AllArgsConstructor  
public class User {  
    private int id;  
    private String name;  
    private String passwd;  
  
    public User(int id, String name, String passwd) {  
        this.id = id;  
        this.name = name;  
        this.passwd = passwd;  
    }  
  
    public void updateUser(String name, String passwd) {  
        if (name != null) {  
            this.name = name;  
        }  
        if (passwd != null) {  
            this.passwd = passwd;  
        }  
    }  
  
    public static void main(String[] args) {  
        User user = new User(123, "Alice", "30");  
  
        System.out.println("Before update:");  
        System.out.println("Name: " + user.getName());  
        System.out.println("Passwd: " + user.getPasswd());  
  
        user.updateUser(null, "newPassword");  
  
        System.out.println("\nAfter update:");  
        System.out.println("Name: " + user.getName());  
        System.out.println("Passwd: " + user.getPasswd());  
    }  
}

2、创建(User) Mapper接口

package com.my.mysql.mapper;  
  
import com.my.mysql.entity.User;  
import org.apache.ibatis.annotations.Mapper;  
import org.springframework.stereotype.Repository;  
  
import java.util.List;  
  
@Mapper  
@Repository  
public interface UserMapper {  
    List<User> queryUserList();  
    User queryUserById(int id);  
    void addUser(User user);  
    void deleteUserById(int id);  
    void updateUser(User user);  
//    void login(User user);  
//    void register(User user);  
  
  
}

3、配置(User)Mapper.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.my.mysql.mapper.UserMapper">  
    <select id="queryUserList" resultType="User">  
        select * from mysqluser.user  
    </select>  
  
    <select id="queryUserById" resultType="User" parameterType="int">  
        select * from mysqluser.user where id = #{id};  
    </select>  
  
    <insert id="addUser">  
        insert into mysqluser.user (id, name,passwd) VALUES (#{id},#{name},#{passwd})  
    </insert>  
  
    <delete id="deleteUserById">  
        delete from mysqluser.user where id=#{id}  
    </delete>  
    <update id="updateUser" parameterType="User">  
        UPDATE mysqluser.user  
#         UPDATE mysqluser.user user是使用的数据库里面数据表  
        SET  
        id = #{id},        
        name = #{name},        
        passwd = #{passwd}        
        WHERE id = #{id}    
        </update>  
  
</mapper>

4、创建(User) service类
service接口可以分出来实现类单独编写

package com.my.mysql.service;  
  
import com.my.mysql.entity.User;  
  
import java.util.List;  
  
public interface UserService {  
  
    List<User> queryUserList();  
    User queryUserById(int id);  
    String addUser(User user);  
    String deleteUserById(int id);  
    String updateUser(User user);  
  
}

4.1创建(User)实现类

package com.my.mysql.service.Impl;  
  
import com.my.mysql.controller.UserController;  
import com.my.mysql.entity.User;  
import com.my.mysql.mapper.UserMapper;  
import com.my.mysql.service.UserService;  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.stereotype.Service;  
  
import java.util.List;  
  
@Service  
public class UserServiceImpl implements UserService {  
  
    @Autowired  
    private UserMapper userMapper;  
    @Autowired  
    private UserController userController;  
  
    @Override  
    public List<User> queryUserList() {  
        return userMapper.queryUserList();  
    }  
  
    @Override  
    public User queryUserById(int id) {  
        return userMapper.queryUserById(id);  
    }  
  
    @Override  
    public String addUser(User user) {  
        userMapper.addUser(user);  
        return "新增成功";  
    }  
  
    @Override  
    public String deleteUserById(int id) {  
        userMapper.deleteUserById(id);  
        return "删除成功";  
    }  
  
    @Override  
    public String updateUser(User user) {  
        if (user != null) {  
            userMapper.updateUser(user);  
            return "更新成功";  
        } else {  
            return "用户信息为空,更新失败";  
        }  
    }  
//    @Override  
//    public User login(String name, String passwd) {  
//        // 根据用户名在数据库中查询用户信息  
//        userMapper.login();  
//  
//        if (user != null && user.getPasswd().equals(passwd)) {  
//            return user; // 返回用户信息表示登录成功  
//        } else {  
//            return null; // 返回null表示登录失败  
//        }  
//    }  
//    public String register(User newUser) {  
//        // 检查用户是否已经存在  
//        userMapper.register(newUser);  
//        if (userExists(newUser.getUsername())) {  
//            return "User already exists"; // 返回用户已存在的信息  
//        } else {  
//            // 在这里执行注册逻辑,向数据库中添加新用户  
//            addUser(newUser);  
//            return "Registration successful"; // 返回注册成功信息  
//        }  
//    }  
}

5、创建(User) Controller类

package com.my.mysql.controller;  
  
import com.my.mysql.entity.User;  
import com.my.mysql.service.UserService;  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.web.bind.annotation.*;  
  
import java.util.List;  
  
@RestController  
public class UserController {  
    @Autowired  
    UserService userService;  
  
    @GetMapping("/queryUserList")  
    public List<User> queryUserList(){  
        return userService.queryUserList();  
  
    }  
    @GetMapping ("/queryUserById")  
    public User queryUserById(int id){  
        return userService.queryUserById(id);  
  
    }  
  
    @GetMapping("/addUser")  
    public String addUser(User user){  
        return userService.addUser(user);  
  
    }  
  
    @GetMapping("/deleteUserById")  
    public String deleteUserById(int id){  
        return userService.deleteUserById(id);  
  
    }  
//    @PutMapping("/updateUser")  
//    public String updateUser(@RequestBody User user) {  
//        userService.updateUser(user);  
//        System.out.println("更新成功");  
//        return "更新成功";  
//    }  
    @PutMapping("/updateUser")  
    public String updateUser(@RequestBody User user) {  
        return userService.updateUser(user);  
}  
//    @PostMapping("/login")  
//    public String login(@RequestBody User user) {  
//        return userService.login(String name,String passwd);  
//    }  
//    @PostMapping("/register")  
//    public String register(@RequestBody User user) {  
//        return userService.register(user);  
//    }  
  
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

流媒体传输协议HTTP-FLV、WebSocket-FLV、HTTP-TS 和 WebSocket-TS的详细介绍、应用场景及对比

一、前言 HTTP-FLV、WS-FLV、HTTP-TS 和 WS-TS 是针对 FLV 和 TS 格式视频流的不同传输方式。它们通过不同的协议实现视频流的传输&#xff0c;以满足不同的应用场景和需求。接下来我们对这些流媒体传输协议进行剖析。 二、传输协议 1、HTTP-FLV 介绍&#xff1a;基于 HTTP…

雷击保险丝选取

雷击保险丝的估算方法&#xff1a; 1、雷击浪涌实验规定的差模内阻是 2欧姆&#xff1a;(一般差模都是2欧姆) 2、差模雷击浪涌实验等级的确定。 3、差模雷击L-N防雷电路的确定&#xff08;估算防雷电路的钳位电压&#xff09;。 4、估算防雷电路中保险丝的 I^2t 的值来确定…

如何从索尼存储卡恢复数据?

Sony 存储卡广泛用于在数码相机、数码摄像机等中存储照片和视频。如果您从 Sony 存储卡中删除重要数据而未备份&#xff0c;您仍然可以找回丢失的数据。实际上&#xff0c;已删除的视频/照片或文档不会永远丢失&#xff0c;它们仍存储在 Sony 存储卡上&#xff0c;可以通过数据…

计算机组成原理之定点乘法运算

文章目录 原码并行乘法与补码并行乘法原码算法运算规则存在的问题带符号的阵列乘法器习题原码阵列乘法器间接补码阵列乘法器直接补码阵列乘法器 补码与真值的转换 原码并行乘法与补码并行乘法 原码算法运算规则 存在的问题 理解流水式阵列乘法器&#xff08;并行乘法器&#x…

会声会影色彩校正在哪里 会声会影色彩素材栏在哪 会声会影中文免费版下载

会声会影是一款功能强大的视频编辑软件&#xff0c;它可以帮助用户轻松地编辑和制作视频。在进行视频编辑时&#xff0c;色彩校正是一个重要的步骤&#xff0c;它可以调整视频的色调、亮度和对比度等参数&#xff0c;使视频更加生动和鲜明。在会声会影中&#xff0c;色彩校正功…

C#(C Sharp)学习笔记_封装【十八】

什么是封装&#xff1f; 封装是面向对象思维的三大特性之一。封装是将数据和对数据进行操作的函数绑定到一起的机制。它隐藏了对象的内部状态和实现细节&#xff0c;只对外提供必要的接口&#xff0c;从而确保对象内部状态的完整性和安全性。封装的主要目的是增强安全性和简化…

【教学类-64-02】20240610色块眼力挑战(二)-2-25宫格色差10-100(10倍)(星火讯飞)

背景需求 以下的色块眼里挑战需要人工筛选图片&#xff0c;非常繁琐。 【教学类-64-01】20240607色块眼力挑战&#xff08;一&#xff09;-0-255随机底色-CSDN博客文章浏览阅读446次&#xff0c;点赞12次&#xff0c;收藏5次。【教学类-64-01】20240607色块眼力挑战&#xff…

C语言——自定义类型:结构体

前言 本篇博客位大家介绍C语言中一块儿重要的内容&#xff0c;那就是结构体&#xff0c;关于结构体的内容&#xff0c;大家需要深入掌握&#xff0c;在后面的学习中依然会用到&#xff0c;如果你对本文感兴趣&#xff0c;麻烦点进来的老铁一键三连。多多支持&#xff0c;下面我…

食家巷助力“甘肃乡村振兴,百强主播·打call 甘味”活动

2024年&#xff0c;甘肃省“商务乡村振兴”促消费暨“百强主播打call 甘味”活动在天水市龙城广场盛大启动。 活动现场&#xff0c;来自甘肃省 14 个市州的农特产品展台琳琅满目&#xff0c;让人目不暇接。此次活动中&#xff0c;各企业带来了多款深受消费者喜爱的产品&a…

【C++提高编程-06】----C++之STL-函数对象、谓词、仿函数

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

这 10 种架构师,不合格!

大家好&#xff0c;我是君哥。 架构师这个岗位是好多程序员努力的方向&#xff0c;尤其是刚毕业的时候&#xff0c;对架构师有一种崇拜感。毕竟从初级到架构要经历好几次级别飞跃。 工作时间久了&#xff0c;发现架构师这个岗位&#xff0c;其实定义非常广泛&#xff0c;根据工…

linux 部署瑞数6实战(维普,药监局)sign第二部分

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx …

如何通过在线封装APP快速上线?小猪APP分发帮你解决难题

你是否曾经为了上线一款APP而头疼不已&#xff1f;开发完成后&#xff0c;封装、测试、分发&#xff0c;这些繁琐的步骤让人望而却步。别担心&#xff0c;小猪APP分发来了&#xff01;这篇文章将带你了解如何通过在线封装APP快速上线&#xff0c;并且告诉你为什么选择小猪APP分…

[Linux] TCP协议介绍(3): TCP协议的“四次挥手“过程、状态分析...

TCP协议是面向连接的 上一篇文章简单分析了TCP通信非常重要的建立连接的"三次握手"的过程 本篇文章来分析TCP通信中同样非常重要的断开连接的"四次挥手"的过程 TCP的"四次挥手" TCP协议建立连接 需要"三次握手". "三次挥手&q…

Postman下发流表至Opendaylight

目录 任务目的 任务内容 实验原理 实验环境 实验过程 1、打开ODL控制器 2、网页端打开ODL控制页面 3、创建拓扑 4、Postman中查看交换机的信息 5、L2层流表下发 6、L3层流表下发 7、L4层流表下发 任务目的 1、掌握OpenFlow流表相关知识&#xff0c;理解SDN网络中L…

飞书API 2-1:如何通过 API 创建文件夹?

本文探讨如何通过飞书的 API 来创建文件夹。通过 API 创建的文件夹&#xff0c;一般是放在共享空间&#xff0c;如果要放在个人空间&#xff0c;建议手动创建。 查看 API 文档 API 路径&#xff0c;可在飞书开放平台的服务端 API&#xff0c;依次查找云文档>云空间>文件…

javaWeb项目-springboot+vue人事管理系统功能介绍

本项目源码&#xff1a;java-springbootvue人事管理系统源码说明文档资料资源-CSDN文库 项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot…

高级人工智能复习 题目整理 中科大

题目整理 填空 1.准确性&#xff0c;复杂性&#xff0c;验证集 2. 3 2 n 3^{2^n} 32n 3 C 2 n m 3^{C^m_{2n}} 3C2nm​ 3 m 3^m 3m n 1 n1 n1 3. 状态 从状态s采取行动a后继续采用策略 π \pi π的收益 环境 4. 语法 语义 推理规则 5. 参与者&#xff0c;策略集&#xff…

算法排序之冒泡排序及优化

public class Bubbling {public static void main(String[] args) {// 定义需要排序的数组int[] arr {0,1,21,2,31,12,5,8};// 冒泡排序方法bubbleSort(arr);bubbleOptSort(arr);}/*** 冒泡排序* param arr 数组*/public static void bubbleSort(int[] arr){// i0&#xff0c;…

【C语言】解决C语言报错:Format String Vulnerability

文章目录 简介什么是Format String VulnerabilityFormat String Vulnerability的常见原因如何检测和调试Format String Vulnerability解决Format String Vulnerability的最佳实践详细实例解析示例1&#xff1a;直接使用不受信任的输入作为格式化字符串示例2&#xff1a;未验证格…