作者:baeldung
译者:Darren Luo
1. 概述
CrudRepository是一个用于在特定类型的存储库进行通用CRUD 操作的 Spring Data 接口。它提供了一些用于与数据库交互的开箱即用的方法。
在本教程,我们将说明如何以及何时使用CrudRepository的save()方法。
要了解更多有关 Spring Data repository 的信息,请查看我们将CrudRepository和框架的其他 repository 接口进行比较的文章。
2. 依赖
我们必须将 Spring Data 和 H2 数据库依赖添加到我们的pom.xml文件中:
3. 示例应用程序
首先,让我们创建我们的名为MarchandiseEntity的 Spring Data 实体。这个类将定义在我们调用 save() 方法时将持久化到数据库的数据类型:
接下来,让我们创建一个使用MerchandiseEntity的CrudRepository接口:
这里我们指定实体的类和实体 id 的类,MerchandiseEntity 和 Long。当实例化该 repository 的实例时,基础逻辑将自动处理,以便与我们的MerchandiseEntity类一起使用。
因此,只需要很少的代码,我们就已经准备好开始使用save()方法了。
4. 通过CrudRepository的 save() 添加一个新实例
让我们创建一个新的MerchandiseEntity实例并使用InventoryResitory将其保存到数据库中:
运行将在数据库表中为MerchandiseEntity创建一个新的条目。注意,我们从未指定过id。初始创建的实例的id为null值,当我们调用save()方法,id被自动生成。
5. 通过CrudRepository的save()更新实例
我们可以使用相同的 save() 方法来更新我们数据库中已存在的条目。假设我们保存了一个有指定标题的MerchandiseEntity实例:
但后来我们发现我们想要更新物品的价格。我们可以简单的从数据库从获取实体,进行更改并像之前一样使用save()方法。
假设我们知道物品的id(pantsId),我们可以使用CrudRepository的findById方法从数据库获取我们的实体:
我们已经用新的价格更新了我们的原始实体,并将更改保存回数据库。
6. 总结
在这片快速文章中,我们讨论了CrudRepository的 save() 方法。该方法可以用于向数据库中添加新条目以及更新现有条目。
和往常一样,本文的代码在 GitHub 上。
关注公众号
领取专属 10元无门槛券
私享最新 技术干货