mybatisplus使用like查询
时间: 2023-09-18 22:08:39 浏览: 168
Mybatis-plus提供了LambdaQueryWrapper来进行like查询。示例代码如下:
```java
String keyword = "test";
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(User::getName, keyword)
.or()
.like(User::getEmail, keyword);
List<User> userList = userMapper.selectList(queryWrapper);
```
以上代码中,我们通过LambdaQueryWrapper构建查询条件,使用like方法来进行模糊查询,同时使用or方法实现多个字段的模糊查询。其中,User::getName和User::getEmail是实体类User中的字段名,可以根据具体的实体类进行修改。最后,通过selectList方法进行查询,返回符合条件的User列表。
相关问题
mybatisplus mapper like 查询
MybatisPlus是一款基于MyBatis的持久层框架增强工具,它提供了一种方便的方式来编写SQL查询。当你需要在Mapper接口中进行类似“LIKE”模糊查询时,可以使用`lambda表达式`或者`自带的QueryWrapper`来进行。
例如,如果你想根据某个字段名`name`做模糊查询,你可以这样做:
```java
// 使用lambda表达式
List<User> users = userMapper.selectList((User u) -> u.getName().like("%关键字%"));
// 或者使用QueryWrapper
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("name", "关键字");
List<User> users = userMapper.selectList(wrapper);
```
`like`函数用于字符串匹配,第一个参数是要匹配的字段,第二个参数是模糊查询的关键字,百分号 `%` 表示任意字符。`QueryWrapper`是一个动态构建SQL语句的对象,通过它可以灵活地构造复杂的查询条件。
springboot中使用mybatisplus使用like实现分页查询
在 Spring Boot 中使用 MybatisPlus 实现模糊查询并分页,可以按照如下步骤:
1. 在 pom.xml 文件中添加 MybatisPlus 的依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
```
2. 在 application.properties 文件中添加 MybatisPlus 的配置:
```properties
# MybatisPlus 配置
mybatis-plus.mapper-locations=classpath*:mapper/*.xml
mybatis-plus.type-aliases-package=com.example.entity
```
3. 创建一个 MybatisPlus 的配置类 MybatisPlusConfig,并开启分页功能:
```java
@Configuration
@MapperScan("com.example.mapper")
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor;
}
}
```
4. 在 Mapper 接口中定义一个分页查询方法,如下所示:
```java
public interface UserMapper extends BaseMapper<User> {
IPage<User> selectUserPage(Page<User> page, @Param("name") String name);
}
```
其中,`Page` 是 MybatisPlus 提供的分页对象,`@Param("name")` 表示传入的参数名称是 `name`。
5. 在 Mapper.xml 文件中实现分页查询方法:
```xml
<select id="selectUserPage" resultType="com.example.entity.User">
select * from user
where name like concat('%', #{name}, '%')
order by id desc
</select>
```
其中,`concat` 函数用于拼接字符串,`#{name}` 表示传入的参数值是 `name`。
6. 在 Service 层中调用分页查询方法:
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public IPage<User> selectUserPage(Page<User> page, String name) {
return baseMapper.selectUserPage(page, name);
}
}
```
其中,`baseMapper` 是 MybatisPlus 提供的基础 Mapper 类,可以直接调用 Mapper 接口中定义的方法。
7. 最后,在 Controller 层中调用 Service 层中的分页查询方法,并将查询结果返回给前端:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public IPage<User> selectUserPage(Page<User> page, String name) {
return userService.selectUserPage(page, name);
}
}
```
以上就是在 Spring Boot 中使用 MybatisPlus 实现模糊查询并分页的步骤。
阅读全文