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日

相关文章

  • 基于SSM 集成 Freemarker模板引擎的方法

    基于SSM集成Freemarker模板引擎的方法主要分为以下三步: 1. 导入Freemarker相关依赖包 在pom.xml文件中,我们需要导入Freemarker的依赖包。具体代码如下: <!– Freemarker 引擎 –> <dependency> <groupId>org.freemarker</gr…

    Java 2023年5月31日
    00
  • Golang 实现Thrift客户端连接池方式

    下面是Golang实现Thrift客户端连接池的详细攻略: 什么是Thrift客户端连接池 Thrift是一个分布式服务框架,支持多种编程语言和协议。Thrift客户端连接池是在分布式应用开发中常用的技术,主要是在客户端与服务端的连接中起到缓存连接、提高连接复用率、减少连接建立时间等作用,从而提高分布式应用的性能表现。 如何实现 接下来介绍如何通过Golan…

    Java 2023年5月20日
    00
  • java实现外卖订餐系统

    Java实现外卖订餐系统攻略 1. 系统功能需求 外卖订餐系统通常包含以下功能: 用户注册、登录、修改资料功能 餐厅注册、登录、修改资料、添加、删除菜品功能 用户浏览菜品、加入购物车、下单、支付功能 餐厅处理订单、退款、发货功能 用户对订单进行评论、评分功能 管理员管理餐厅、菜品、订单等功能 2. 系统设计思路 基于以上功能需求,我们可以采用以下技术和方法来…

    Java 2023年5月19日
    00
  • Java正则表达式的基本用法和实例大全

    Java正则表达式的基本用法和实例大全 正则表达式是一种强大的文本匹配工具,Java的java.util.regex包提供了对正则表达式的支持。本文将详细介绍Java正则表达式的基本用法和实例大全。 基本用法 常用的正则表达式元字符 正则表达式元字符指代特殊的字符集,用于表示某种类别的字符。以下是常用的正则表达式元字符。 .:表示任意单个字符。 *:表示前面…

    Java 2023年5月26日
    00
  • MyBatis框架简介及入门案例详解

    MyBatis框架简介及入门案例详解 MyBatis框架简介 MyBatis是一个持久层框架,它支持定制化SQL、存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码和参数的手工输入以及对结果集的检索封装。MyBatis可以采用注解或xml方式配置映射关系,支持动态SQL,极其灵活方便。 MyBatis入门案例 准备工作 1.创建一个Java We…

    Java 2023年5月20日
    00
  • Java实现调用外部程序的示例代码

    这里我为你提供一份“Java实现调用外部程序的示例代码”攻略: 1. 确认可供调用的外部程序 在Java代码中调用外部程序之前,首先需要确认可供调用的外部程序是否存在及可用。若存在,则可以直接在Java中通过执行外部程序的命令来进行调用,并获取相应的返回值;若不存在,则需要先进行程序安装或者确认是否已经加入环境变量中。 2. Java代码实现调用外部程序 使…

    Java 2023年5月19日
    00
  • JSON简介以及用法汇总

    JSON简介 JSON的全称是JavaScript Object Notation,它是一种轻量级的数据交换格式。JSON的特点是易于理解、易于阅读、易于编写、易于解析、易于生成。JSON适用于数据传输和存储,常见于Web应用中与客户端和服务端之间的数据交互。 JSON用法汇总 JSON语法: JSON由两种结构组成: 键值对:一组“键/值”对,使用英文冒号…

    Java 2023年5月26日
    00
  • 通过Java测试几种压缩算法的性能(附测试代码下载)

    这篇攻略主要介绍了如何使用Java编写测试代码,测试多种常见的压缩算法的性能,以及如何通过性能测试结果对比来选择最佳的压缩算法。以下是详细的步骤: 准备工作 首先,需要下载并安装JMH(Java Microbenchmark Harness)工具。JMH是一个专门用于Java微基准测试的工具集,可以在不同的测试场景下自动化构造和运行测试并得出性能结果。官方网…

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