总共要用到两个类DatabaseMetaData和ResultSetMetaData
DatabaseMetaData
MetaDataDemo.java
package cn.hncu.meta;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.junit.Test;
import cn.hncu.pool.ConnUtils;
/*
* 操纵:数据库驱动的信息、数据库名、数据表信息(名字、个数)------java.sql.DatabaseMetaData 通过con.getMetaData()获得
* 操作:表结构信息(字段名、列数等)-------java.sql.ResultSetMetaData 通过rs.getMetaData获得
*
* 数据库的其他称呼:Catlog,Schma,Database
*/
public class MetaDataDemo {
Connection con=ConnUtils.getConn();
@Test
public void DatabaseMetaDataDemo(){
try {
DatabaseMetaData dmd=con.getMetaData();
System.out.println(dmd.getDriverName());
System.out.println(dmd.getDriverVersion());
System.out.println(dmd.getDatabaseMajorVersion()+"."+dmd.getDatabaseMinorVersion());//5.6版本
System.out.println(dmd.getMaxStatements());//允许数据库表名字符的最大数,0代表无限制
System.out.println(dmd.getJDBCMajorVersion());//jdbc4.0
System.out.println("-------------------------------------");
数据库驱动、版本等信息
//返回所有数据库的名字
ResultSet rs=dmd.getCatalogs();//这里返回的结果集,只有一列-----数据库名字(TABLE_CAT)
while(rs.next()){
String name=rs.getString(1);
String name2=rs.getString("TABLE_CAT");
System.out.println(name+"........"+name2);
}
获取到的数据库名: