Heim  >  Artikel  >  Datenbank  >  Was sind DatabaseMetaData in JDBC? Was ist der Sinn?

Was sind DatabaseMetaData in JDBC? Was ist der Sinn?

王林
王林nach vorne
2023-08-31 16:53:02715Durchsuche

Was sind DatabaseMetaData in JDBC? Was ist der Sinn?

Allgemein werden Daten über Daten als Metadaten bezeichnet. Die DatabaseMetaData-Schnittstelle bietet Methoden zum Abrufen von Informationen über die Datenbank, mit der Sie verbunden sind, wie z. B. Datenbankname, Datenbanktreiberversion, maximale Spaltenlänge usw.

Hier sind einige Methoden der DatabaseMetaData-Klasse.

Beschreibung
Methode
getDriverName() Den Namen des aktuellen JDBC-Treibers abrufen
getDriverVersion() Rufen Sie die aktuelle JDBC-Treiberversion ab td>
getUserName() Benutzernamen abrufen.
getDatabaseProductName() Rufen Sie den Namen der aktuellen Datenbank ab.
getDatabaseProductVersion() Rufen Sie die Version der aktuellen Datenbank ab.
getNumericFunctions() Rufen Sie die Liste der für diese Datenbank verfügbaren numerischen Funktionen ab.
getStringFunctions() Ruft die Liste der für diese Datenbank verfügbaren numerischen Funktionen ab. td>
getSystemFunctions() Rufen Sie die Liste der für diese Datenbank verfügbaren Systemfunktionen ab.
getTimeDateFunctions() Ruft eine Liste der für diese Datenbank verfügbaren Zeit- und Datumsfunktionen ab.
getURL() Rufen Sie die URL der aktuellen Datenbank ab.
supportsSavepoints() Überprüfen Sie, ob die aktuelle Datenbank Savepoints unterstützt
supportsStoredProcedures() Überprüfen Sie, ob das Wetter der aktuellen Datenbank gespeicherte Prozeduren unterstützt.
supportsTransactions() Überprüfen Sie, ob die aktuelle Datenbank Transaktionen unterstützt.

Beispiel

Das folgende Beispiel demonstriert die Verwendung der DatabaseMetaData-Klasse.

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
public class DatabaseMetadataExample {
   public static void main(String args[])throws Exception {
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");

      //Creating the DatabaseMetaData object
      DatabaseMetaData dbMetadata = con.getMetaData();
      //invoke the supportsBatchUpdates() method.
      boolean bool = dbMetadata.supportsBatchUpdates();

      if(bool) {
         System.out.println("Underlying database supports batch updates");
      } else {
         System.out.println("Underlying database doesnt supports batch updates");
      }

      //Retrieving the driver name
      System.out.println(dbMetadata.getDriverName());
      //Retrieving the driver version
      System.out.println(dbMetadata.getDriverVersion());
      //Retrieving the user name
      System.out.println(dbMetadata.getUserName());
      //Retrieving the URL
      System.out.println(dbMetadata.getURL());
      //Retrieving the list of numeric functions
      System.out.println("Numeric functions: "+dbMetadata.getNumericFunctions());
      System.out.println("");
      //Retrieving the list of String functions
      System.out.println("String functions: "+dbMetadata.getStringFunctions());
      System.out.println("");
      //Retrieving the list of system functions
      System.out.println("System functions: "+dbMetadata.getSystemFunctions());
      System.out.println("");
      //Retrieving the list of time and date functions
      System.out.println("Time and Date funtions: "+dbMetadata.getTimeDateFunctions());
   }
}

Ausgabe

Connection established......
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
Numeric functions:
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
String functions:
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
System functions:
DATABASE,USER,SYSTEM_USER,SESSION_USER,PASSWORD,ENCRYPT,LAST_INSERT_ID,VERSION
Time and Date funtions:
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

Das obige ist der detaillierte Inhalt vonWas sind DatabaseMetaData in JDBC? Was ist der Sinn?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen