JAVA基础 之 DatabaseMetaData

概述:

    1.DatabaseMetaData:连接对应的数据库信息对象

    2.通过con.getMetaData();方法来获得

    3.不多说看例子

 

Java代码    收藏代码
  1. package com.cxy.jdbc;  
  2.   
  3. import java.sql.Connection;  
  4. import java.sql.DatabaseMetaData;  
  5. import java.sql.DriverManager;  
  6. import java.sql.ResultSet;  
  7. import java.sql.SQLException;  
  8.   
  9. /** 
  10.  * @author cxy 
  11.  */  
  12. public class DatabaseMetaDataTest  
  13. {  
  14.     public static void main(String[] args) throws Exception  
  15.     {  
  16.         Class.forName("com.mysql.jdbc.Driver");  
  17.         try  
  18.         (  
  19.             Connection con=DriverManager.getConnection("jdbc:mysql://localhost/dbtest""root""root");  
  20.         )  
  21.         {  
  22.             DatabaseMetaData dmd=con.getMetaData();  
  23.             System.out.println("当前数据库是:"+dmd.getDatabaseProductName());  
  24.             System.out.println("当前数据库版本:"+dmd.getDatabaseProductVersion());  
  25.             System.out.println("当前数据库驱动:"+dmd.getDriverVersion());  
  26.             System.out.println("当前数据库URL:"+dmd.getURL());  
  27.             System.out.println("当前数据库是否是只读模式?:"+dmd.isReadOnly());  
  28.             System.out.println("当前数据库是否支持批量更新?:"+dmd.supportsBatchUpdates());  
  29.             System.out.println("当前数据库是否支持结果集的双向移动(数据库数据变动不在ResultSet体现)?:"+dmd.supportsResultSetType(ResultSet.TYPE_SCROLL_INSENSITIVE));  
  30.             System.out.println("当前数据库是否支持结果集的双向移动(数据库数据变动会影响到ResultSet的内容)?:"+dmd.supportsResultSetType(ResultSet.TYPE_SCROLL_SENSITIVE));  
  31.             System.out.println("========================================");  
  32.               
  33.             ResultSet rs=dmd.getTables(nullnull"%"null);  
  34.             System.out.println("表名"+","+"表类型");  
  35.             while(rs.next())  
  36.             {  
  37.                 System.out.println(rs.getString("TABLE_NAME")+","+rs.getString("TABLE_TYPE"));  
  38.             }  
  39.             System.out.println("========================================");  
  40.               
  41.             rs=dmd.getPrimaryKeys(nullnull"t_student");  
  42.             while(rs.next())  
  43.             {  
  44.                 System.out.println(rs.getString(3)+"表的主键是:"+rs.getString(4));  
  45.             }  
  46.             System.out.println("========================================");  
  47.               
  48.             rs=dmd.getColumns(nullnull"t_student","%");  
  49.             System.out.println("t_student表包含的字段:");  
  50.             while(rs.next())  
  51.             {  
  52.                 System.out.println(rs.getString(4)+" "+rs.getString(6)+"("+rs.getString(7)+");");  
  53.             }  
  54.             System.out.println("========================================");  
  55.               
  56.         }catch(SQLException e)  
  57.         {  
  58.             System.out.println("数据库操作出现异常");  
  59.         }  
  60.     }  
  61.   
  62. }  

<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值