返回

SpringBoot整合JDBC数据库操作-4:修改/删除数据操作

闲谈

前言

在前面的文章中,我们已经介绍了如何使用 SpringBoot 整合 JDBC 来实现数据的新增操作。今天,我们继续深入探讨,了解如何修改和删除数据库中的数据。

修改数据

修改数据库中的数据,需要我们首先获取到需要修改的数据对象,然后对其进行修改,最后保存修改。修改数据的方法有两种:

  1. 直接修改实体对象 :这种方法简单直观,直接通过修改实体对象上的属性值来实现数据修改。修改完成后,Spring Data JPA 会自动检测到实体对象的改变,并执行相应的 SQL 语句更新数据库。

  2. 使用 JPA 方法 :Spring Data JPA 提供了 save() 和 flush() 方法来实现数据的修改。save() 方法会将实体对象保存到数据库中,如果实体对象已经存在,则会执行更新操作;flush() 方法会强制执行数据库更新操作,即使实体对象没有发生改变。

代码示例:

@Entity
@Table(name = "articles")
public class Article {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String title;
    private String content;

    // 省略 getter 和 setter 方法
}

// ArticleRepository.java

public interface ArticleRepository extends JpaRepository<Article, Long> {
    @Query("update Article set title = :title where id = :id")
    int updateTitleById(@Param("id") Long id, @Param("title") String title);
}

// Main.java

public class Main {
    public static void main(String[] args) {
        // 直接修改实体对象
        Article article = new Article();
        article.setTitle("修改后的标题");
        article.setContent("修改后的内容");

        articleRepository.save(article);

        // 使用 JPA 方法
        articleRepository.updateTitleById(1L, "修改后的标题");
    }
}

删除数据

删除数据库中的数据,需要我们根据主键获取到需要删除的数据对象,然后调用 JPA 的 delete() 方法即可。

代码示例:

// Main.java

public class Main {
    public static void main(String[] args) {
        Article article = articleRepository.findById(1L).orElse(null);
        if (article != null) {
            articleRepository.delete(article);
        }
    }
}

总结

通过这篇文章,我们学习了如何使用 SpringBoot 整合 JDBC 来修改和删除数据库中的数据。这些操作是数据库交互中的基本操作,掌握它们可以为我们构建更复杂的数据库应用打下坚实的基础。