mybatisplus怎么根据名字模糊查询
时间: 2023-10-06 20:13:41 浏览: 76
使用MybatisPlus的Wrapper构造器和Lambda表达式可以实现根据名字模糊查询,具体步骤如下:
1. 导入相关依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
```
2. 在实体类中添加需要模糊查询的字段,例如:
```java
public class User {
private Long id;
private String name;
// ... getter/setter 略
}
```
3. 在Mapper接口中添加模糊查询方法,例如:
```java
public interface UserMapper extends BaseMapper<User> {
List<User> selectByNameLike(String name);
}
```
4. 在Mapper.xml中实现模糊查询的SQL语句,例如:
```xml
<select id="selectByNameLike" resultMap="BaseResultMap">
SELECT *
FROM user
WHERE name LIKE CONCAT('%',#{name},'%')
</select>
```
5. 在Service层调用Mapper的模糊查询方法,例如:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> findUserByName(String name) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.lambda().like(User::getName, name);
return userMapper.selectList(wrapper);
}
}
```
以上就是使用MybatisPlus实现根据名字模糊查询的步骤。需要注意的是,在Mapper.xml中使用拼接字符串的方式实现模糊查询也是可以的,但是不够安全,容易受到SQL注入攻击,因此建议使用MybatisPlus提供的Wrapper构造器和Lambda表达式实现。
阅读全文