参数元数据
String sql = "select * from admin where userName = ? and pwd = ?";
Connection conn = JdbcUtils.getConnection();
// 预编译SQL语句
PreparedStatement ps = conn.prepareStatement(sql);
// 获得参数元数据
ParameterMetaData pmd = ps.getParameterMetaData();
// 获取参数个数
int count = pmd.getParameterCount();
// 打印结果
System.out.println("参数的个数是 : " +count);
结果集元数据
需求: 通过结果集元数据,获取列名称
@Test
public void testGetResultData() throws Exception {
String sql = "select * from admin ";//where userName = ? and pwd = ?
Connection conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
// 获取元数据
// 注意是元数据,不是参数元数据
ResultSetMetaData metaData = rs.getMetaData();
// 获取所有列的总数
int colCount = metaData.getColumnCount();
// 遍历每列,获取列名称
for (int i = 0; i < colCount; i++) {
// 注意 : 数据库的列数是从1开始的
String colName = metaData.getColumnName(i + 1);
Object colValue = rs.getObject(colName);
System.out.print(colName + " : "+ colValue + " " );
}
System.out.println();
}
}
网友评论