mybatisplus java 根据前端传表名和查询条件 后端获取指定表中数据 请补全所有方法
时间: 2023-06-13 17:09:22 浏览: 86
以下是根据前端传表名和查询条件获取指定表中数据的完整方法:
1. 在实体类中添加表名注解,用于映射数据库表名:
```java
@Table(name = "your_table_name")
public class YourEntity {
// 实体类字段和对应数据库表字段
// ...
}
```
2. 创建 DAO 层接口,继承 MyBatis-Plus 的 `BaseMapper` 接口,并添加对应的方法:
```java
public interface YourDao extends BaseMapper<YourEntity> {
// 根据查询条件查询指定表中数据
List<YourEntity> selectByCondition(@Param("tableName") String tableName, @Param("condition") Map<String, Object> condition);
}
```
3. 在 Service 层中调用 DAO 层的方法:
```java
@Service
public class YourService {
@Autowired
private YourDao yourDao;
public List<YourEntity> selectByCondition(String tableName, Map<String, Object> condition) {
return yourDao.selectByCondition(tableName, condition);
}
}
```
4. 在 Controller 层中接收前端传来的表名和查询条件,并调用 Service 层的方法:
```java
@RestController
@RequestMapping("/your-api")
public class YourController {
@Autowired
private YourService yourService;
@GetMapping("/{tableName}")
public List<YourEntity> selectByCondition(@PathVariable("tableName") String tableName, @RequestParam Map<String, Object> condition) {
return yourService.selectByCondition(tableName, condition);
}
}
```
这样,前端传来表名和查询条件时,Controller 层会将它们传递给 Service 层,Service 层再调用 DAO 层的方法进行查询,最终返回查询结果。