Java 通过RowMapper上的resultSet获取当前表的名称

Java 通过RowMapper上的resultSet获取当前表的名称,java,database-table,database-metadata,Java,Database Table,Database Metadata,在RowMapper的实现上,可以获取当前表的名称。 我尝试使用元数据,但没有成功您可以尝试使用 ResultSet.getMetaData().getTableName(int column) 由于ResultSet和ResultSetMetaData都只是接口,因此实现取决于您使用的数据库驱动程序 因此,如果此方法不提供表名: 驱动程序实现不支持它 该列没有与关联的表(例如,select sysdate…) 例如,当前的oracle db驱动程序不支持它 对于H2,选中,它描述了ge

在RowMapper的实现上,可以获取当前表的名称。
我尝试使用元数据,但没有成功

您可以尝试使用

 ResultSet.getMetaData().getTableName(int column)
由于ResultSet和ResultSetMetaData都只是接口,因此实现取决于您使用的数据库驱动程序

因此,如果此方法不提供表名:

  • 驱动程序实现不支持它
  • 该列没有与关联的表(例如,select sysdate…)
例如,当前的oracle db驱动程序不支持它


对于H2,选中,它描述了getTableName()的行为,具体取决于所选的兼容模式。

什么是实现?我正在使用SpringData JdbcTemplate对数据库运行查询,并实现了RowMapper来映射结果您使用的DB驱动程序jar是什么?H2 database org.H2.DriveRead For getTableName()并检查getTableName()==null的任何条件是否适用于您。