用springboot写一个模糊查询
时间: 2023-07-18 22:43:03 浏览: 163
好的,下面是一个简单的使用Spring Boot实现模糊查询的示例:
首先,我们需要在pom.xml文件中添加Spring Data JPA和MySQL依赖:
```xml
<dependencies>
<!-- Spring Data JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
```
然后,我们需要创建一个实体类,表示我们要查询的数据:
```java
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// getters and setters
}
```
接着,我们需要创建一个Spring Data JPA的Repository,用于查询数据:
```java
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByNameContainingIgnoreCase(String name);
}
```
在上面的代码中,我们定义了一个方法`findByNameContainingIgnoreCase`,用于查询包含指定名称的用户,忽略名称的大小写。
最后,我们需要创建一个Controller,用于处理HTTP请求:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("/search")
public List<User> search(@RequestParam("name") String name) {
return userRepository.findByNameContainingIgnoreCase(name);
}
}
```
在上面的代码中,我们定义了一个GET请求的处理方法`search`,用于接收名为`name`的查询参数,并调用`UserRepository`中的`findByNameContainingIgnoreCase`方法进行模糊查询。
现在,我们可以启动应用程序并访问`http://localhost:8080/users/search?name=john`,就可以查询所有名字中包含"john"的用户了。
阅读全文