mybatis plus java 根据前端传表名和查询条件,后端获取指定表中数据
时间: 2023-06-16 09:02:09 浏览: 191
可以使用 MyBatis-Plus 提供的 Wrapper 类来实现根据前端传递的表名和查询条件获取指定表中数据的功能。
首先,你需要定义一个通用的查询方法,接收表名和查询条件参数:
```java
public List<Map<String, Object>> queryByTable(String tableName, Map<String, Object> params) {
QueryWrapper<Map<String, Object>> wrapper = new QueryWrapper<>();
wrapper.allEq(params);
List<Map<String, Object>> list = new ArrayList<>();
try {
list = mybatisPlusMapper.selectList(wrapper);
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
```
这里使用了 QueryWrapper 类来构建查询条件,allEq 方法可以将条件集合中的所有参数作为相等条件添加到查询条件中。
然后,你可以在需要查询的地方调用该方法,并传递表名和查询条件参数:
```java
String tableName = "your_table_name";
Map<String, Object> params = new HashMap<>();
params.put("name", "John");
params.put("age", 30);
List<Map<String, Object>> list = queryByTable(tableName, params);
```
这样就可以根据前端传递的表名和查询条件获取指定表中数据了。需要注意的是,这种方式存在 SQL 注入的风险,应该对传递的参数进行合法性检查和过滤。
阅读全文