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.mzph.cn/bicheng/30140.shtml

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

相关文章

云原生安全联防联抗策略玩转微隔离

前言 随着信息技术的发展、互联网的快速普及&#xff0c;越来越多的信息被存储在云端&#xff0c;企业面临的安全问题也日益突出。在《网络安全法》、《数据安全法》等多部法律法规要求下&#xff0c;各行业用户纷纷设立安全部门。不管安全部门里是“一人当关”还是“三三两两…

PCB AVI品质报告采集工具

AVI设备,品质报告. 可以通过: 过滤文件名指定文件名 排除多余的日志;运行日志为增量日志,可采用增量模式;品质报告可设置采集后删除; 下载: Gitee下载 最新版本 优势: A. 开箱即用. 解压直接运行.不需额外安装. B. 批管理设备. 设备配置均在后台管理. C. 无人值守 客户端自…

lammps聚合物建模组合技巧

大家好,我是小马老师。 本文介绍聚合物结构的组合问题。 在lammps模拟中,聚合物模拟应该算是比较复杂的一种模拟,不仅建模复杂、势参数较多,而且在模拟过程中也会经常出现各种意想不到的错误。 本文主要解决聚合物建模过程中常遇到的一个问题:多成分的组合。 比如下面的结…

什么是分布式架构?

一、分布式架构的概念&#xff1a; 分布式架构是现代软件工程中一个非常核心的概念&#xff0c;特别是在互联网、大数据和云计算领域。分布式架构指的是将一个应用程序分解为多个相互协作的组件或服务&#xff0c;这些组件或服务运行在不同的计算机或服务器上&#xff0c;通常…

【仿真建模-anylogic】Port原理解析

Author&#xff1a;赵志乾 Date&#xff1a;2024-06-14 Declaration&#xff1a;All Right Reserved&#xff01;&#xff01;&#xff01; 1. 类图 2. 原理解析 2.1 核心函数&#xff1a; Port作为各类型端口的基类&#xff0c;其核心方法如下 &#xff1a; 函数功能Port(A…

Linux磁盘格式化与重新分区

1.df -BG查看磁盘挂载情况 2.fdisk -l查看磁盘详细信息 3.sudo mkfs.ext4 /path 格式化磁盘 4.挂载格式化后磁盘 挂载成功

CPU 和主板芯片组对应关系

英特尔各代CPU 对应主板芯片组列表 1. 第一代Core&#xff08;Nehalem架构&#xff0c;2008年&#xff09; Core i7/i5/i3&#xff08;LGA 1366/1156&#xff09; 芯片组&#xff1a;X58&#xff08;LGA 1366&#xff09;、P55、H55、H57&#xff08;LGA 1156&#xff09; …

初见DP

线性DP 例题1 1143. 最长公共子序列 &#xff08;LCS&#xff09; 子序列不连续 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#x…

opencv 视频处理

概述 OpenCV 的视频模块是其核心组成部分之一&#xff0c;主要负责视频文件的读取、处理、分析以及视频流的捕获和输出。这一模块使得开发者能够轻松地处理来自摄像头、文件或其他视频源的视频数据&#xff0c;进行实时或离线的图像处理和计算机视觉任务。以下是 OpenCV 视频模…

Pentest Muse:一款专为网络安全人员设计的AI助手

关于Pentest Muse Pentest Muse是一款专为网络安全研究人员和渗透测试人员设计和开发的人工智能AI助手&#xff0c;该工具可以帮助渗透测试人员进行头脑风暴、编写Payload、分析代码或执行网络侦查任务。除此之外&#xff0c;Pentest Muse甚至还能够执行命令行代码并以迭代方式…

Excel 找出最大值及其相邻的 N 个成员

某列都是数值&#xff1a; A1132213464215496973482396101113712491342144015151631171718114719182030212222423252419251326272738283029163012312332333233419351436463723383739384028 请找出最大值及其相邻的 10 个成员&#xff0c;注意越界检查&#xff0c;实际符合条件…

JAVA云HIS医院管理系统源码:可医保对接的云HIS运维平台源码 SaaS模式

JAVA云HIS医院管理系统源码&#xff1a;可医保对接的云HIS运维平台源码 SaaS模式 云HIS系统运用云计算、大数据、物联网等新兴信息技术&#xff0c;为医疗机构提供全面的医疗信息管理服务。该系统支持医保功能&#xff0c;通过与医保系统的对接&#xff0c;实现了医疗费用的自…

Boost 网络库

asio 网络编程的基本流程创建 socket绑定acceptor连接指定的端点服务器接受连接 网络编程的基本流程 服务端 1&#xff09;socket----创建socket对象。 2&#xff09;bind----绑定本机ipport。 3&#xff09;listen----监听来电&#xff0c;若在监听到来电&#xff0c;则建…

Vue 3的组合式API:你真的需要它吗?

Vue 3的组合式API&#xff1a;你真的需要它吗&#xff1f; 随着Vue 3的发布&#xff0c;我们迎来了一个新的API——组合式API&#xff08;Composition API&#xff09;。这个API为开发者提供了更灵活、更可复用的代码编写方式。然而&#xff0c;传统的选项式API&#xff08;Opt…

分布式操作系统入门:可的哥(Codigger)引领新潮流

早期&#xff0c;大型机系统盛行&#xff0c;随后个人计算机如Windows、Mac OS等操作系统普及。随着技术发展和计算需求增长&#xff0c;单机系统的局限显现&#xff0c;推动了分布式操作系统的崛起。操作系统演进显露出从单机到多机、从集中到分散的趋势。传统单机系统在处理大…

OPenCV实现把人形轮廓画在实时视频画面中

操作系统&#xff1a;ubuntu22.04OpenCV版本&#xff1a;OpenCV4.9IDE:Visual Studio Code编程语言&#xff1a;C11 1.功能描述 当你从摄像头读取实时视频时&#xff0c;如果想在视频的画面中画一个方框&#xff0c;或者是画一个圆&#xff0c;是很简单的事情&#xff0c;可是…

Python爬虫技术:动态JavaScript加载音频的解析

在当今的互联网世界中&#xff0c;JavaScript已成为构建丰富交互体验不可或缺的技术。然而&#xff0c;对于网络爬虫开发者来说&#xff0c;JavaScript动态生成的内容却带来了不小的挑战。音频内容的动态加载尤其如此&#xff0c;因为它们往往涉及到复杂的用户交互和异步数据加…

【python】Sklearn—Cluster

参考学习来自 10种聚类算法的完整python操作示例 文章目录 聚类数据集亲和力传播——AffinityPropagation聚合聚类——AgglomerationClusteringBIRCH——Birch&#xff08;✔&#xff09;DBSCAN——DBSCANK均值——KMeansMini-Batch K-均值——MiniBatchKMeans均值漂移聚类——…

怎样认识到网络安全的重要性?

在如今的数字化时代&#xff0c;网络行业已经深入到人们的日常生活当中了&#xff0c;除了平时的娱乐社交还包含了工作学习&#xff0c;互联网给我们的生活带来了极大的便利&#xff0c;但同时网络上的安全问题也逐渐凸显出来了&#xff0c;我们在享受网络带来便利的同时&#…

【C#】字符串处理器

实现&#xff1a; 统计字符串中单词的数量。查找字符串中最长的单词&#xff0c;并显示其长度。将字符串中的所有单词首字母大写。将字符串中的所有单词反转。 要求&#xff1a; 使用面向对象的方式实现&#xff0c;包括至少一个类&#xff08;例如 StringProcessor&#xf…