springboot+vue的项目怎么实现模糊查询
时间: 2023-12-16 20:02:59 浏览: 43
实现模糊查询,需要在后端代码中编写SQL语句,并在前端页面上通过输入框获取查询条件,将查询条件传递给后端进行查询。以下是一个简单的示例:
后端:
1. 在MyBatis中编写模糊查询的SQL语句:
```xml
<select id="findUsersByName" parameterType="string" resultType="User">
SELECT * FROM user WHERE name LIKE CONCAT('%', #{name}, '%')
</select>
```
2. 在UserService中调用该方法:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> findUsersByName(String name) {
return userMapper.findUsersByName(name);
}
}
```
前端:
1. 在vue中定义一个输入框和一个按钮:
```html
<template>
<div>
<input type="text" v-model="keyword">
<button @click="search">搜索</button>
</div>
</template>
```
2. 在vue组件的methods中定义search方法,并通过axios发送请求:
```javascript
import axios from 'axios';
export default {
data() {
return {
keyword: ''
}
},
methods: {
search() {
axios.get('/api/users', {
params: {
name: this.keyword
}
}).then(response => {
console.log(response.data);
}).catch(error => {
console.log(error);
});
}
}
}
```
3. 在后端Controller中定义一个路由,将查询条件传递给UserService进行查询:
```java
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public List<User> findUsersByName(@RequestParam("name") String name) {
return userService.findUsersByName(name);
}
}
```
这样就可以实现一个简单的模糊查询功能了。