JDBC 中的 DatabaseMetaData 是什么?它的意义是什么?

通常,有关数据的数据称为元数据。该DatabaseMetaData的接口提供了一些方法,以获取有关您与喜欢,数据库名称,数据库驱动程序版本,最大列长度等连接数据库的信息...

以下是DatabaseMetaData类的一些方法。

方法描述
getDriverName()检索当前 JDBC 驱动程序的名称
getDriverVersion()检索当前 JDBC 驱动程序的版本
getUserName()检索用户名。
getDatabaseProductName()检索当前数据库的名称。
getDatabaseProductVersion()检索当前数据库的版本。
getNumericFunctions()检索此数据库可用的数值函数列表。
getStringFunctions()检索此数据库可用的数值函数列表。
getSystemFunctions()检索此数据库可用的系统函数列表。
getTimeDateFunctions()检索此数据库可用的时间和日期函数列表。
getURL()检索当前数据库的 URL。
supportsSavepoints()验证当前数据库支持保存点的天气
supportsStoredProcedures()验证当前数据库是否支持存储过程。
supportsTransactions()验证当前数据库是否支持事务。

例子

以下示例演示了 DatabaseMetaData 类的用法。

import java.sql.Connection;

import java.sql.DatabaseMetaData;

import java.sql.DriverManager;

public class DatabaseMetadataExample {

   public static void main(String args[])throws Exception {

      //获取连接

      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";

      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");

      System.out.println("连接已建立......");

      //创建 DatabaseMetaData 对象

      DatabaseMetaData dbMetadata = con.getMetaData();

      //调用 supportsBatchUpdates() 方法。

      boolean bool = dbMetadata.supportsBatchUpdates();

      if(bool) {

         System.out.println("Underlying database supports batch updates");

      } else {

         System.out.println("Underlying database doesnt supports batch updates");

      }

      //检索驱动程序名称

      System.out.println(dbMetadata.getDriverName());

      //检索驱动程序版本

      System.out.println(dbMetadata.getDriverVersion());

      //检索用户名

      System.out.println(dbMetadata.getUserName());

      //检索网址

      System.out.println(dbMetadata.getURL());

      //检索数字函数列表

      System.out.println("数值函数: "+dbMetadata.getNumericFunctions());

      System.out.println("");

      //检索字符串函数列表

      System.out.println("字符串函数: "+dbMetadata.getStringFunctions());

      System.out.println("");

      //检索系统功能列表

      System.out.println("系统功能: "+dbMetadata.getSystemFunctions());

      System.out.println("");

      //检索时间和日期函数列表

      System.out.println("时间和日期功能: "+dbMetadata.getTimeDateFunctions());

   }

}

输出

连接已建立......

Underlying database supports batch updates

MySQL-AB JDBC Driver

mysql-connector-java-5.1.12 ( Revision: ${bzr.revision-id} )

root@localhost

jdbc:mysql://localhost/sampleDB

数值函数:

ABS,ACOS,ASIN,ATAN,ATAN2,BIT_COUNT,CEILING,COS,COT,DEGREES,EXP,FLOOR,LOG,LOG10,MAX

,MIN,MOD,PI,POW,POWER,RADIANS,RAND,ROUND,SIN,SQRT,TAN,TRUNCATE

字符串函数:

ASCII,BIN,BIT_LENGTH,CHAR,CHARACTER_LENGTH,CHAR_LENGTH,CONCAT,CONCAT_WS,CONV,ELT,E

XPORT_SET,FIELD,FIND_IN_SET,HEX,INSERT,INSTR,LCASE,LEFT,LENGTH,LOAD_FILE,LOCATE,LO

CATE,LOWER,LPAD,LTRIM,MAKE_SET,MATCH,MID,OCT,OCTET_LENGTH,ORD,POSITION,QUOTE,REPEA

T,REPLACE,REVERSE,RIGHT,RPAD,RTRIM,SOUNDEX,SPACE,STRCMP,SUBSTRING,SUBSTRING,SUBSTR

ING,SUBSTRING,SUBSTRING_INDEX,TRIM,UCASE,UPPER

系统功能:

DATABASE,USER,SYSTEM_USER,SESSION_USER,PASSWORD,ENCRYPT,LAST_INSERT_ID,VERSION

时间和日期功能:

DAYOFWEEK,WEEKDAY,DAYOFMONTH,DAYOFYEAR,MONTH,DAYNAME,MONTHNAME,QUARTER,WEEK,YEAR,H

OUR,MINUTE,SECOND,PERIOD_ADD,PERIOD_DIFF,TO_DAYS,FROM_DAYS,DATE_FORMAT,TIME_FORMAT

,CURDATE,CURRENT_DATE,CURTIME,CURRENT_TIME,NOW,SYSDATE,CURRENT_TIMESTAMP,UNIX_TIME

STAMP,FROM_UNIXTIME,SEC_TO_TIME,TIME_TO_SEC

以上是 JDBC 中的 DatabaseMetaData 是什么?它的意义是什么? 的全部内容, 来源链接: utcz.com/z/322833.html

回到顶部