(1) Class类:
- static Class<?> forName(String className)
返回与带有给定字符串名的类或接口相关联的 Class 对象。 - Field getDeclaredField(String name)
返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。 - T newInstance()
创建此 Class 对象所表示的类的一个新实例。
(2) AccessibleObject类:
- void setAccessible(boolean flag)
将此对象的 accessible 标志设置为指示的布尔值。 - boolean isAccessible()
获取此对象的 accessible 标志的值。
注: 当isAccessible()的结果是false时不允许通过反射访问该字段
当该字段时private修饰时isAccessible()得到的值是false,必须要改成true才可以访问
所以f.setAccessible(true);的作用就是让我们在用反射时访问私有变量
(3) 接口 ResultSetMetaData :继承Wrapper接口
方法:
| |
getCatalogName(int column) | |
getColumnClassName(int column) | |
int | getColumnCount() |
int | getRowCount() 返回此 ResultSet 对象中的行数。 |
getColumnLabel(int column) | |
getColumnName(int column) | |
int | getColumnType(int column) |
getColumnTypeName(int column) | |
getTableName(int column) |
(4) 接口 ResultSet :继承Wrapper接口
ResultSet 对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;因为该方法在 ResultSet 对象没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。
方法:
- void close()
立即释放此 ResultSet 对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作。 - byte[] getBytes(int columnIndex)
以 Java 编程语言中 byte 数组的形式获取此 ResultSet 对象的当前行中指定列的值。
- ResultSetMetaData getMetaData()
获取此 ResultSet 对象的列的编号、类型和属性
- BigDecimal getBigDecimal(int columnIndex)
以具有全精度的 java.math.BigDecimal 的形式获取此 ResultSet 对象的当前行中指定列的值。 - BigDecimal getBigDecimal(String columnLable)
以具有全精度的 java.math.BigDecimal 的形式获取此 ResultSet 对象的当前行中指定列的值。
- 获取此 ResultSet 对象的当前行中指定列的值。
Object getObject(int columnIndex) 以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。
Object getObject(String columnLabel) 以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。
Date getDate(int columnIndex)
Date getDate(String columnLable)
double getDouble(int columnIndex)
double getDouble(String columnLable)
int getInt(int columnIndex)
int getInt(String columnLabel)
float getFloat(int columnIndex)
float getFloat(String columnLabel)
String getString(int columnIndex)
String getString(String columnLabel)
7.Statement getStatement()
获取生成此 ResultSet 对象的 Statement 对象。
8.int getType() 获取此 ResultSet 对象的类型。
- boolean next() 将光标从当前位置向前移一行。
//获取结果集的元信息对象
ResultSetMetaData rsmd=result.getMetaData();
//获取字段个数
int count=rsmd.getColumnCount();