ParameterMetaData¶
ParameterMetaData接口的方法用来获取PreparedStatement、CallableStatement 对象中的参数信息,例如参数的个数、参数的类型、参数的精度等信息,类似于 ResultSetMetaData接口。
ParameterMetaData对象的创建是通过调用PreparedStatement 或CallableStatement对象的 getParameterMetaData()方法,然后通过调用接口中提供的各种方法,就可以获得“?”占位符代表的参数的类型和属性信息。
下面是一个例子:
// 查询
sql = "SELECT * FROM TEST_METEDATA WHERE ID = ? AND NAME = ?";
PreparedStatement pstmt = con.prepareStatement(sql);
ParameterMetaData pmd = pstmt.getParameterMetaData();
int count = pmd.getParameterCount();
for (int i = 1; i <= count; i++) {
int mode = pmd.getParameterMode(i); // 获得参数模式
int type = pmd.getParameterType(i); // 获得参数类型
assertNotNull(mode);
assertNotNull(type);
}
stmt.close();