spring-boot-starter-data-elasticsearch 的增删查改demo
时间: 2023-07-09 16:08:36 浏览: 102
好的,下面是一个简单的示例:
1. 引入依赖
在 pom.xml 文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
```
2. 配置 Elasticsearch
在 application.properties 文件中添加 Elasticsearch 相关配置:
```properties
spring.elasticsearch.rest.uris=http://localhost:9200
```
3. 定义实体类
创建一个实体类,例如:
```java
@Document(indexName = "user")
public class User {
@Id
private String id;
private String name;
private Integer age;
// getter/setter 略
}
```
4. 创建 Elasticsearch Repository
创建一个继承自 ElasticsearchRepository 的接口,例如:
```java
public interface UserRepository extends ElasticsearchRepository<User, String> {
}
```
5. 编写增删查改方法
在业务逻辑层中编写增删查改方法,例如:
```java
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public void save(User user) {
userRepository.save(user);
}
public void delete(String id) {
userRepository.deleteById(id);
}
public List<User> search(String keyword) {
return userRepository.findByNameContaining(keyword);
}
public void update(User user) {
userRepository.save(user);
}
}
```
以上示例中,save 方法用于保存用户信息,delete 方法用于删除用户信息,search 方法用于根据关键字搜索用户信息,update 方法用于更新用户信息。
6. 测试
编写测试类,例如:
```java
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserServiceTest {
@Autowired
private UserService userService;
@Test
public void testSave() {
User user = new User();
user.setId("1");
user.setName("张三");
user.setAge(20);
userService.save(user);
}
@Test
public void testDelete() {
userService.delete("1");
}
@Test
public void testSearch() {
List<User> userList = userService.search("张三");
System.out.println(userList);
}
@Test
public void testUpdate() {
User user = new User();
user.setId("1");
user.setName("张三");
user.setAge(25);
userService.update(user);
}
}
```
以上示例中,testSave 方法用于测试保存用户信息,testDelete 方法用于测试删除用户信息,testSearch 方法用于测试根据关键字搜索用户信息,testUpdate 方法用于测试更新用户信息。
运行测试类,查看控制台输出结果,即可验证增删查改功能是否正常。
阅读全文