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();