Mybatis - 获取类型信息的结果

时间:2016-12-15 15:07:26

标签: java spring mybatis

我正在使用spring-boot-mybatis-starter。此刻我对mybatis非常熟悉,但是我正在寻找获取有关返回结果的列类型的信息。可能吗 ?

例如,我收到Hashmap<String, Object> results - 我想知道Object未使用instance of的类型是什么。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果您想知道结果中的实际java类型:Class c = null == results.get("columnName") ? null : results.get("columnName").getClass();

如果你想了解SQL类型,我担心你不能。这需要访问结果集元数据,这就是Mybatis所做的,因为这是它的工作。映射处理中唯一可以控制的控件是使用自定义类型处理程序时,但它们用于非常特殊的情况。 对于至少95%的用例,Mybatis将标准SQL类型映射到简单的java类型,更好地让它完成它的工作。尽管如此,据我所知,映射类中没有日志。 (我认为Mybatis缺少日志)。

如果你解释这个问题背后的目的,那可能会有所帮助。

答案 1 :(得分:0)

您可以从信息模式中获取表列类型,如下所示。

SELECT column_name, column_type 
FROM INFORMATION_SCHEMA.columns 
where table_schema='[Table_schema]' and table_name='[Table_Name]'.

希望它有所帮助。