ResultSetMetaData rsmd = pstmt.getMetaData();
DatabaseMetaData dmd = conn.getMetaData();
ResultSet rs = dmd.getPrimaryKeys(null, null, “user”);
这里写目录标题
17.13.1 DatabaseMetaData
【例17.31】使用DatabaseMetaData取得数据库的元信息
package file;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Savepoint;
import java.text.SimpleDateFormat;
public class demo
{
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/java_mysql";
public static final String DBUSER = "root";
public static final String DBPASS = "dyh20011022";
public static void main(String[] args) throws Exception
{
Class.forName(DBDRIVER);//驱动
Connection conn =DriverManager.getConnection(DBURL, DBUSER, DBPASS);
DatabaseMetaData dmd = conn.getMetaData();
ResultSet rs = dmd.getPrimaryKeys(null, null, "user");
System.out.println("数据库名称:"+dmd.getDatabaseProductName());
System.out.println("数据库版本:"+dmd.getDatabaseMajorVersion()+"."+dmd.getDatabaseMinorVersion());
while(rs.next())//主键不只一个
{
System.out.println("表类别:"+rs.getString(1));
System.out.println("表模式:"+rs.getString(2));
System.out.println("表名称:"+rs.getString(3));
System.out.println("列名称:"+rs.getString(4));
System.out.println("主键序列号:"+rs.getString(5));
System.out.println("主键名称:"+rs.getString(6));
System.out.println("-----------------------");
}
//关闭
conn.close();
}
}
因为:多个数据库存在user表
ResultSet rs = dmd.getPrimaryKeys(null, null, “user”);//没有限制具体
17.13.2 ResultSetMetaData
【例 17.32 】取得 ResultSet 的 MetaData
String sql = "select id,name,password,age,sex,birthday from user";
ResultSetMetaData rsmd = pstmt.getMetaData();
rsmd.getColumnCount()
rsmd.isAutoIncrement(1))
rsmd.getColumnName(1)
package file;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Savepoint;
import java.text.SimpleDateFormat;
import java.sql.ResultSetMetaData;
public class demo
{
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/java_mysql";
public static final String DBUSER = "root";
public static final String DBPASS = "dyh20011022";
public static void main(String[] args) throws Exception
{
Class.forName(DBDRIVER);//驱动
String sql = "select id,name,password,age,sex,birthday from user";
Connection conn =DriverManager.getConnection(DBURL, DBUSER, DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSetMetaData rsmd = pstmt.getMetaData();
System.out.println("一共:"+rsmd.getColumnCount()+"条信息.");
if(rsmd.isAutoIncrement(1))
{
System.out.println(rsmd.getColumnName(1)+"列自增。");
}
//关闭
pstmt.close();
conn.close();
}
}