1.当我们面对一个非常陌生的数据库表时,我们无从知道它的字段名称,字段类型,而通过ResultSetMetaData 我们可以获取陌生表的一些信息。
2.新建ResultSetMetaDataTest.java测试类
3.输入如下代码
4.在main方法中执行测试代码,看到结果如下,而我在SQL语句中并没有指定别名,所以获取到的就是数据库的字段名。
5.注意SQL语句中的 1=? 和PreparedStatement.setString(1,"1")是为了SQL的预编译而赋值的无用参数。
6.那么当把 where 1=?去掉之后,把PreparedStatement.setString(1,"1") 也去掉,也就是我们直接预编译一个无参的SQL语句
7.执行结果如下,发现也是可以的。
8.我们是通过ReslutSet对象的getMetaData()方法来获取 ResultSetMetaData对象的。通过循环ResultSetMetaData中包含的列名的数量 getColumnCount 来获取其中的每一项列名,注意,getColumnLable(i+1)
9.说明,i是从0开始赋值的,而getColumnLable要求的参数是从1开始的。
标签:ResultSetMetaData,数据库,获取