zoukankan      html  css  js  c++  java
  • JDBC 元数据 (DatabaseMetaData,ResultSetMetaData )


    Java 通过JDBC获得连接以后,得到一个Connection 对象,可以从这个对象获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列,数据类型,触发器,存储过程等各方面的信息。根据这些信息,JDBC可以访问一个实现事先并不了解的数据库。
    获取这些信息的方法都是在DatabaseMetaData类的对象上实现的,而DataBaseMetaData对象是在Connection对象上获得的。

     

    DatabaseMetaData 类中提供了许多方法用于获得数据源的各种信息,通过这些方法可以非常详细的了解数据库的信息:

    • getURL():返回一个String类对象,代表数据库的URL。
    • getUserName():返回连接当前数据库管理系统的用户名。
    • isReadOnly():返回一个boolean值,指示数据库是否只允许读操作。
    • getDatabaseProductName():返回数据库的产品名称。
    • getDatabaseProductVersion():返回数据库的版本号。
    • getDriverName():返回驱动驱动程序的名称。
    • getDriverVersion():返回驱动程序的版本号。
     1     /**
     2      *  查询特定数据库中的所有表
     3      * @param connection 数据库连接对象
     4      * @return 数据库表的list
     5      */
     6     public static List<String> getTables(Connection connection){
     7         try {
     8             List<String> tableList = new ArrayList<>();
     9             DatabaseMetaData metaData = connection.getMetaData();
    10             ResultSet resultSet = metaData.getTables(null, null, null, new String[]{"TABLE"});
    11             while (resultSet.next()){
    12                 tableList.add(resultSet.getString(3));
    13             }
    14             return tableList;
    15         } catch (SQLException e) {
    16             e.printStackTrace();
    17         }
    18         return null;
    19     }

    可用于获取关于 ResultSet 对象中列的类型和属性信息的对象:

    • getColumnName(int column):获取指定列的名称
    • getColumnCount():返回当前 ResultSet 对象中的列数。
    • getColumnTypeName(int column):检索指定列的数据库特定的类型名称。
    • getColumnDisplaySize(int column):指示指定列的最大标准宽度,以字符为单位。
    • isNullable(int column):指示指定列中的值是否可以为 null。
    • isAutoIncrement(int column):指示是否自动为指定列进行编号,这样这些列仍然是只读的。
  • 相关阅读:
    flash使用lua
    如何写出兼容大部分浏览器的CSS 代码
    typeof 详解
    人月神话阅读笔记(三)
    人月神话阅读笔记(二)
    仓库物资管理
    动手动脑(四)
    人月神话阅读笔记(一)
    动手动脑(六 文件操作)及课后作业
    java异常处理
  • 原文地址:https://www.cnblogs.com/infaraway/p/6509342.html
Copyright © 2011-2022 走看看