MyBatis Plus根据关键字模糊查询多个表中的列
时间: 2024-01-11 14:03:22 浏览: 109
要实现 MyBatis Plus 根据关键字模糊查询多个表中的列,可以采用以下步骤:
1. 定义一个包含需要查询的列的实体类,如:
```java
@Data
public class MyEntity {
private Long id;
private String name;
private String type;
// 其他需要查询的列
}
```
2. 定义一个 Mapper 接口,使用 @Select 注解进行查询,如:
```java
@Mapper
public interface MyMapper extends BaseMapper<MyEntity> {
@Select("SELECT id, name, type FROM table1 WHERE name LIKE '%${keyword}%' UNION " +
"SELECT id, name, type FROM table2 WHERE name LIKE '%${keyword}%'")
List<MyEntity> search(@Param("keyword") String keyword);
}
```
其中,使用 UNION 将多个表的查询结果合并,@Param("keyword") 注解用于传递关键字参数。
3. 在 Service 层中调用 Mapper 的查询方法,如:
```java
@Service
public class MyService {
@Autowired
private MyMapper myMapper;
public List<MyEntity> search(String keyword) {
return myMapper.search(keyword);
}
}
```
这样就可以实现 MyBatis Plus 根据关键字模糊查询多个表中的列了。
阅读全文