返回
SpringBoot整合JDBC数据库操作-4:修改/删除数据操作
闲谈
2023-09-11 20:07:31
前言
在前面的文章中,我们已经介绍了如何使用 SpringBoot 整合 JDBC 来实现数据的新增操作。今天,我们继续深入探讨,了解如何修改和删除数据库中的数据。
修改数据
修改数据库中的数据,需要我们首先获取到需要修改的数据对象,然后对其进行修改,最后保存修改。修改数据的方法有两种:
-
直接修改实体对象 :这种方法简单直观,直接通过修改实体对象上的属性值来实现数据修改。修改完成后,Spring Data JPA 会自动检测到实体对象的改变,并执行相应的 SQL 语句更新数据库。
-
使用 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 来修改和删除数据库中的数据。这些操作是数据库交互中的基本操作,掌握它们可以为我们构建更复杂的数据库应用打下坚实的基础。