📜  Spring Boot – CrudRepository 与示例(1)

📅  最后修改于: 2023-12-03 15:35:03.051000             🧑  作者: Mango

Spring Boot – CrudRepository 与示例

Spring Boot是一个快速构建、轻量级的应用程序框架,通过使用Spring Boot,我们可以用最少量的代码来快速搭建应用程序,并且还提供了很多开箱即用的功能。其中CrudRepository就是Spring Boot提供的一个非常实用的功能,本文将会介绍它的用法以及一个示例程序。

CrudRepository简介

CrudRepository是Spring Data JPA提供的一个简单易用的接口,它提供了许多基础的CRUD操作,如保存、删除、修改、查询等,我们不需要自己写SQL语句,只需要通过调用CrudRepository提供的方法即可完成这些操作。

示例程序

下面我们通过一个示例程序来学习如何使用CrudRepository。

创建实体类

我们首先创建一个实体类User,代码如下:

@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "name")
    private String name;

    @Column(name = "age")
    private Integer age;

    @Column(name = "email")
    private String email;

    // 省略getter和setter方法
}
创建Repository

我们接着创建一个Repository,来完成对User的增删改查操作,代码如下:

@Repository
public interface UserRepository extends CrudRepository<User, Long> {
}

我们只需要继承CrudRepository,就可以实现基础的CRUD操作了。

测试代码

最后我们编写一个测试类,测试CRUD操作是否正确。

@SpringBootTest
class UserRepositoryTest {

    @Autowired
    private UserRepository userRepository;

    @Test
    void testCrud() {
        // 插入一条数据
        User user = new User();
        user.setName("张三");
        user.setAge(20);
        user.setEmail("zhangsan@163.com");
        userRepository.save(user);

        // 查询数据
        Optional<User> optionalUser = userRepository.findById(user.getId());
        assertTrue(optionalUser.isPresent());
        assertEquals("张三", optionalUser.get().getName());

        // 更新数据
        user.setName("李四");
        userRepository.save(user);
        optionalUser = userRepository.findById(user.getId());
        assertTrue(optionalUser.isPresent());
        assertEquals("李四", optionalUser.get().getName());

        // 删除数据
        userRepository.delete(user);
        optionalUser = userRepository.findById(user.getId());
        assertFalse(optionalUser.isPresent());
    }
}

我们通过创建一个User对象,并且通过save方法保存到数据库中。接着通过findById方法来查询数据。我们修改了User对象的name属性,并且保存到数据库中,并再次通过findById方法来验证修改操作是否成功。最后,我们删除刚刚添加的数据,并用findById判断数据是否删除成功。

结束语

通过本文,我们可以学习到如何利用Spring Boot提供的CrudRepository接口来完成对数据库的CRUD操作,让我们的代码更加优雅,快捷。