我正在使用spring-boot-mybatis-starter
。此刻我对mybatis非常熟悉,但是我正在寻找获取有关返回结果的列类型的信息。可能吗 ?
例如,我收到Hashmap<String, Object> results
- 我想知道Object
未使用instance of
的类型是什么。
有什么想法吗?
答案 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]'.
希望它有所帮助。