(1)DatabaseMetaData:
package javase.jdbc;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DatabaseMetaDataDemo {
public static void main(String[] args) {
Connection connection = JDBCConnection.getConnection();
try {
DatabaseMetaData dMetaData = connection.getMetaData(); // 实例化元数据
System.out.println("数据库名:" + dMetaData.getDatabaseProductName());
System.out.println("数据库版本: "
+ dMetaData.getDatabaseProductVersion());
ResultSet resultSet = dMetaData.getPrimaryKeys(null, null, "users");
while (resultSet.next()) {
System.out.println("表类别:" + resultSet.getString(1));
System.out.println("表模式:" + resultSet.getString(2));
System.out.println("表名称:" + resultSet.getString(3));
System.out.println("列名称:" + resultSet.getString(4));
System.out.println("主键:" + resultSet.getString(5));
System.out.println("主键名称:" + resultSet.getString(6));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
输出:
数据库名:MySQL
数据库版本: 5.5.19
表类别:jdbcdemo
表模式:null
表名称:users
列名称:id
主键:1
主键名称:PRIMARY
(2)ResultSetMetaData:
package javase.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
public class ResultSetMetaDataDemo {
public static void main(String[] args) {
String sql = "SELECT id,username,password,classId FROM users";
Connection connection = JDBCConnection.getConnection();
try {
PreparedStatement pStatement = connection.prepareStatement(sql);
ResultSetMetaData rSetMetaData = pStatement.getMetaData();
System.out.println("返回数据有" + rSetMetaData.getColumnCount() + "个字段");
if (rSetMetaData.isAutoIncrement(1))
System.out.println(rSetMetaData.getColumnName(1) + "字段是自增的");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
输出:
返回数据有4个字段
id字段是自增的