springboot vue 多条件模糊查询
时间: 2023-06-26 20:05:38 浏览: 188
在 Spring Boot 中,可以通过 Spring Data JPA 框架来实现多条件模糊查询。如果你的前端使用的是 Vue.js,可以通过 Axios 来发送 HTTP 请求,并将查询条件作为参数传递给后端。
以下是一个简单的示例:
1. 定义一个 Java 类作为查询条件的封装:
```java
public class UserQuery {
private String name;
private String email;
// getters 和 setters 省略
}
```
2. 在 Spring Boot 中定义一个 UserRepository 接口,并继承 JpaRepository 接口:
```java
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByNameContainingAndEmailContaining(String name, String email);
}
```
3. 在 Controller 中接收前端发送的查询条件,并调用 UserRepository 中定义的方法进行查询:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("")
public List<User> getUsers(@RequestParam("name") String name, @RequestParam("email") String email) {
List<User> users = userRepository.findByNameContainingAndEmailContaining(name, email);
return users;
}
}
```
4. 在 Vue.js 中使用 Axios 发送 HTTP 请求:
```javascript
axios.get('/users', { params: { name: 'John', email: 'john@example.com' } })
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
});
```
在以上示例中,我们通过 UserRepository 中的 findByNameContainingAndEmailContaining 方法实现了多条件模糊查询。在 Controller 中,我们使用 @RequestParam 注解接收前端发送的查询条件。在 Vue.js 中,我们使用 Axios 发送 HTTP 请求,并将查询条件作为参数传递给后端。
阅读全文