mybatisplus获取所有表名
时间: 2023-07-08 07:48:29 浏览: 435
mybatis逆向生产工具,解压导入开发工具里,修改generatorConfig.xml数据库连接和表名即可
在 MyBatis-Plus 中,可以使用 `com.baomidou.mybatisplus.extension.plugins.pagination.Page` 类来进行分页查询,通过这个类的 `.selectMaps()` 方法可以查询指定表的全部数据,例如:
```java
@Autowired
private DataSource dataSource;
public List<String> getAllTableNames() {
List<String> tableNames = new ArrayList<>();
try (SqlSession sqlSession = new SqlSessionFactoryBuilder().build(dataSource.getConnection()).openSession()) {
Connection conn = sqlSession.getConnection();
DatabaseMetaData metaData = conn.getMetaData();
ResultSet rs = metaData.getTables(null, null, null, new String[]{"TABLE"});
while (rs.next()) {
String tableName = rs.getString("TABLE_NAME");
tableNames.add(tableName);
}
} catch (Exception e) {
e.printStackTrace();
}
return tableNames;
}
```
上述代码中,使用 `SqlSession` 获取连接,然后通过 `DatabaseMetaData` 获取所有表的元数据(metadata),再通过 `ResultSet` 遍历获取所有表名。需要注意的是,这种方式获取到的表名不一定是 MyBatis-Plus 中使用的表名,因为在 MyBatis-Plus 中可以通过 `@TableName` 注解来映射表名,所以最好还是使用 MyBatis-Plus 提供的 `.getTableName()` 方法来获取表名。
阅读全文