ssm中使用mybatis框架模糊查询tb_user中username带'小'的用户信息
时间: 2024-11-15 07:26:53 浏览: 5
ssm.rar_mybatis_ssm springmvc_ssm整合_ssm框架整合
在SSM(Spring、Spring MVC和MyBatis)架构中,如果想通过MyBatis进行模糊查询,查询`tb_user`表中username字段包含关键字"小"的用户信息,可以按照以下步骤操作:
1. **配置Mapper接口**:首先,在`com.example.mapper.UserMapper`接口中定义一个模糊查询的方法,比如:
```java
public interface UserMapper {
List<User> searchByUsernameLike(String keyword);
}
```
这里假设User是一个实体类,包含了username属性。
2. **编写XML映射文件**:在`mapper/UserMapper.xml`中,创建一个SQL查询,使用MyBatis的`LIKE`运算符配合通配符 `%` 来模糊匹配:
```xml
<mapper namespace="com.example.mapper.UserMapper">
<select id="searchByUsernameLike" parameterType="String" resultType="User">
SELECT * FROM tb_user WHERE username LIKE CONCAT('%', #{keyword}, '%')
</select>
</mapper>
```
3. **服务层调用**:在`com.example.service.UserService`里注入`UserMapper`,然后可以通过`searchByUsernameLike`方法获取结果:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> searchUsersByNameWithKeyword(String keyword) {
return userMapper.searchByUsernameLike(keyword);
}
}
```
4. **控制器处理**:在Controller中接收前端传递的关键词,并调用服务层方法:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/fuzzy-search")
public ResponseEntity<List<User>> fuzzySearchUsername(@RequestParam String keyword) {
List<User> users = userService.searchUsersByNameWithKeyword(keyword);
// 返回响应数据
}
}
```
阅读全文