ElasticSearch8与SpringBoot集成的案例研究
2024.01.18 04:21浏览量:6简介:本文将通过一个简单的案例,介绍如何将ElasticSearch 8与Spring Boot集成,实现数据的增删改查操作。我们将使用Spring Data JPA作为ORM框架,以便更方便地操作数据库。
在开始之前,请确保你已经安装了以下软件和工具:
- Java Development Kit (JDK) 8 或更高版本
- Maven 3.x
- Spring Boot 2.x
- ElasticSearch 8
首先,在pom.xml文件中添加以下依赖:
接下来,创建一个实体类,例如<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<!-- 其他依赖 -->
</dependencies>
Product
:
然后,创建一个仓库接口,继承@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Double price;
// 省略getter和setter方法
}
ElasticsearchRepository
:
现在,你可以使用public interface ProductRepository extends ElasticsearchRepository<Product, String> {
}
ProductRepository
来操作ElasticSearch中的数据。例如,添加数据:
查询数据:@Autowired
private ProductRepository productRepository;
public void addProduct(Product product) {
productRepository.save(product);
}
根据条件查询数据:public List<Product> findAllProducts() {
return productRepository.findAll();
}
更新数据:public List<Product> findProductsByName(String name) {
return productRepository.findByName(name);
}
删除数据:public void updateProduct(Product product) {
productRepository.save(product);
}
public void deleteProduct(Long id) {
productRepository.deleteById(id);
}
发表评论
登录后可评论,请前往 登录 或 注册