Spring Boot实现简单的增删改查

下面是SpringBoot实现简单的增删改查的完整攻略。

1. 环境准备

在开始之前,需要找到一台安装了JDK1.8以上版本的电脑,并确保你已经熟练掌握了Java语言以及Spring Boot框架的基础知识。

首先,需要安装开发工具IDEA和Maven。

  • 在IDEA官网下载并安装IntelliJ IDEA Community版本:https://www.jetbrains.com/idea/download/
  • 在Apache Maven官网下载并安装最新的Maven版本:https://maven.apache.org/download.cgi

2. 创建项目

接下来,我们需要创建一个新的Maven项目。在IDEA中,点击File -> New -> Project -> Maven -> Next进行项目创建。

在弹出的框中输入groupId、artifactId、version等基本信息。其中,groupId和artifactId默认为项目名称,version默认为1.0-SNAPSHOT即可。

点击Next,选择项目的存储位置,接着点击Next选择需要添加的依赖。由于我们接下来会使用到Spring Web和MyBatis等框架,因此需要添加如下依赖:

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>

  <!-- MyBatis -->
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.6</version>
  </dependency>
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.0.6</version>
  </dependency>

  <!-- MySQL JDBC驱动 -->
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.24</version>
    <scope>runtime</scope>
  </dependency>
</dependencies>

接着,点击Finish即可完成项目创建。

3. 创建实体类

在项目的src/main/java目录下创建一个名为com.example.demo.entity的包,用于存放实体类。

在这个包下创建一个名为User的实体类,用于存储用户的基本信息,代码如下:

public class User {
    private Long id;
    private String username;
    private String password;
    private String email;
    //省略getter/setter方法
}

4. 创建Mapper接口

在项目的src/main/java目录下创建一个名为com.example.demo.mapper的包,用于存放Mapper接口。

在这个包下创建一个名为UserMapper的接口,用于操作用户表,代码如下:

@Mapper
public interface UserMapper {
    List<User> findAll();
    User findById(Long id);
    void insert(User user);
    void update(User user);
    void deleteById(Long id);
}

需要注意的是,在UserMapper接口上加上Mapper注解,以告诉MyBatis这是一个Mapper接口。

接着,我们需要在项目的src/main/resources目录下创建一个名为mapper的文件夹,用于存放Mapper映射文件。

在这个文件夹下创建一个名为UserMapper.xml的文件,用于配置SQL语句。代码如下:

<mapper namespace="com.example.demo.mapper.UserMapper">
    <select id="findAll" resultType="User">
        SELECT * FROM user;
    </select>
    <select id="findById" parameterType="Long" resultType="User">
        SELECT * FROM user WHERE id=#{id};
    </select>
    <insert id="insert" parameterType="User">
        INSERT INTO user (username,password,email)
        VALUES (#{username},#{password},#{email});
    </insert>
    <update id="update" parameterType="User">
        UPDATE user SET username=#{username},password=#{password},email=#{email}
        WHERE id=#{id};
    </update>
    <delete id="deleteById" parameterType="Long">
        DELETE FROM user WHERE id=#{id};
    </delete>
</mapper>

5. 创建Service和Controller

在项目的src/main/java目录下创建一个名为com.example.demo.service的包,用于存放Service接口。

在这个包下创建一个名为UserService的接口,用于定义UserService的方法,代码如下:

public interface UserService {
    List<User> findAll();
    User findById(Long id);
    void insert(User user);
    void update(User user);
    void deleteById(Long id);
}

接着,在com.example.demo.service包下创建一个名为UserServiceImpl的类,用于实现UserService接口中方法的逻辑,代码如下:

@Service
public class UserServiceImpl implements UserService {

    private final UserMapper userMapper;

    @Autowired
    public UserServiceImpl(UserMapper userMapper) {
        this.userMapper = userMapper;
    }

    @Override
    public List<User> findAll() {
        return userMapper.findAll();
    }

    @Override
    public User findById(Long id) {
        return userMapper.findById(id);
    }

    @Override
    public void insert(User user) {
        userMapper.insert(user);
    }

    @Override
    public void update(User user) {
        userMapper.update(user);
    }

    @Override
    public void deleteById(Long id) {
        userMapper.deleteById(id);
    }
}

需要注意的是,在UserServiceImpl类上加上Service注解,以告诉Spring这是一个Service类。

接着,在项目的src/main/java目录下创建一个名为com.example.demo.controller的包,用于存放Controller类。

在这个包下创建一个名为UserController的类,用于响应用户发送的HTTP请求,并调用Service层的方法返回数据,代码如下:

@RestController
@RequestMapping("/api/user")
public class UserController {

    private final UserService userService;

    @Autowired
    public UserController(UserService userService) {
        this.userService = userService;
    }

    @GetMapping("/")
    public List<User> findAll() {
        return userService.findAll();
    }

    @GetMapping("/{id}")
    public User findById(@PathVariable Long id) {
        return userService.findById(id);
    }

    @PostMapping("/")
    public void insert(@RequestBody User user) {
        userService.insert(user);
    }

    @PutMapping("/")
    public void update(@RequestBody User user) {
        userService.update(user);
    }

    @DeleteMapping("/{id}")
    public void deleteById(@PathVariable Long id) {
        userService.deleteById(id);
    }
}

需要注意的是,在UserController类上加上RestController和RequestMapping注解,以告诉Spring这是一个Controller类,并指定请求的路径。

6. 运行程序

在完成以上步骤后,启动程序并访问http://localhost:8080/api/user/即可看到查询到的用户数据。在浏览器上调用不同的HTTP请求即可实现新增、修改、删除用户数据的功能。

示例1:

  • 新增用户:POST请求,请求地址http://localhost:8080/api/user/,请求体为JSON格式的用户数据。

示例2:

  • 修改用户:PUT请求,请求地址http://localhost:8080/api/user/,请求体为JSON格式的用户数据。

总结

至此,我们已经完成了一个简单的SpringBoot增删改查功能的实现。

在这个过程中,我们使用了Mybatis操作数据库,通过Mapper映射文件实现了依赖注入。同时,我们也了解了SpringBoot框架中Service和Controller的基本使用方式。希望本文能够对大家学习SpringBoot具有一定的辅助作用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot实现简单的增删改查 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • java计算π的多种方法

    Java 计算 π 的多种方法 在计算机科学中,π(圆周率)是一个非常有趣且重要的数学常数。由于π是一个无理数,不能用有限长的小数表示,因此我们需要使用其他方法来近似计算π。本文将介绍几种 Java 中计算π的方法。 1. 蒙特卡罗方法 蒙特卡罗方法是一种基于随机抽样的数值计算方法。这个方法的基本思想是在一个正方形内随机放置若干个点,并且判断每个点是否在以正…

    Java 2023年5月19日
    00
  • 浅析java异常栈

    下面我将为您详细讲解“浅析Java异常栈”的完整攻略。 浅析Java异常栈 异常栈的概述 在Java中,异常是指当前程序不能够继续执行下去的错误或问题。当程序发生异常时,会自动创建一个异常对象,并将这个异常对象抛出给Java虚拟机,Java虚拟机再根据异常对象调用相应的异常处理程序进行处理。 异常栈是异常处理机制的重要组成部分,它是一个由多个异常堆栈组成的数…

    Java 2023年5月27日
    00
  • JSP实现远程文件下载保存到服务器指定目录中的方法

    一、前言 JSP 是 Java Server Pages 的简称,是一种动态网页开发技术。在某些情况下,我们可能需要通过 JSP 来实现远程文件下载并保存到服务器指定目录中,本篇文章将详细解释这个过程。 二、实现流程 首先,我们需要在 JSP 页面中编写代码以获取文件的 URL <%@ page import="java.net.*&quot…

    Java 2023年6月15日
    00
  • IDEA创建Java Web项目的超详细图文教学

    下面是针对“IDEA创建Java Web项目的超详细图文教学”的完整攻略: 准备工作 首先,我们需要保证机器上已经安装了Java和IDEA,如果没有,请自行下载和安装。 创建项目 打开IDEA,选择“Create New Project”按钮 在弹出的窗口中选择“Java Enterprise”,然后选择“Web Application” 填写项目的名称和路…

    Java 2023年5月19日
    00
  • spring mvc rest 接口选择性加密解密详情

    下面我会详细讲解“Spring MVC Rest 接口选择性加密解密”的攻略,过程中会包含两条示例说明。 简介 在 Web 开发中,为了使数据在传输过程中不被泄漏,我们通常采用加密方式来保护数据的安全性。针对 RESTful API,常见的加密方式有 HTTPS、RSA、AES 等。但是,在某些情况下不是所有的 API 都需要进行加密,因此我们需要一个通用的…

    Java 2023年5月19日
    00
  • Java Swing程序设计实战

    Java Swing程序设计实战攻略 Java Swing程序设计实战是Java界面开发的重要书籍,其中讲解了Swing界面组件的使用、事件处理、布局管理器等内容,并有大量的编程实例。攻略分为以下几个部分: 程序设计实践 掌握Swing组件的使用,如JLabel、JTextField、JComboBox等; 学会处理Swing组件的事件,如ActionEve…

    Java 2023年5月19日
    00
  • Java Spring Boot实战练习之单元测试篇

    以下是”Java Spring Boot实战练习之单元测试篇”的完整攻略,包含了步骤和示例。 1. 什么是单元测试 单元测试是一种测试方法,它用于测试整个系统或应用程序的一个单独模块或方法。单元测试是一种自动化测试方法,它能够验证代码、避免错误和缺陷,并将问题隔离到特定的代码块层面上。 2. 创建一个Spring Boot项目 在开始单元测试之前,需要先创建…

    Java 2023年5月19日
    00
  • 使用Feign设置Token鉴权调用接口

    使用Feign进行Token鉴权调用接口,主要需要完成以下几个步骤: 在Feign客户端添加Token拦截器 在Feign接口定义处添加@RequestHeader注解,设置Token鉴权信息 下面分别详细讲解这两个步骤。 步骤一:在Feign客户端添加Token拦截器 Feign的Token拦截器需要实现RequestInterceptor接口,因此我们需…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部