Maison  >  Article  >  base de données  >  Qu’est-ce que DatabaseMetaData dans JDBC ? À quoi ça sert ?

Qu’est-ce que DatabaseMetaData dans JDBC ? À quoi ça sert ?

王林
王林avant
2023-08-31 16:53:02679parcourir

Qu’est-ce que DatabaseMetaData dans JDBC ? À quoi ça sert ?

Généralement, les données sur les données sont appelées métadonnées. L'interface DatabaseMetaData fournit des méthodes pour obtenir des informations sur la base de données à laquelle vous êtes connecté, telles que le nom de la base de données, la version du pilote de base de données, la longueur maximale des colonnes, etc...

Voici quelques méthodes de la classe DatabaseMetaData.

Description
Méthode
getDriverName() Récupérer le nom du pilote JDBC actuel
getDriverVersion() Récupérer la version actuelle du pilote JDBC td>
getUserName() Récupérer le nom d'utilisateur.
getDatabaseProductName() Récupère le nom de la base de données actuelle.
getDatabaseProductVersion() Récupère la version de la base de données actuelle.
getNumericFunctions() Récupérez la liste des fonctions numériques disponibles pour cette base de données.
getStringFunctions() Récupère la liste des fonctions numériques disponibles pour cette base de données. td>
getSystemFunctions() Récupère la liste des fonctions système disponibles pour cette base de données.
getTimeDateFunctions() Récupère une liste des fonctions d'heure et de date disponibles pour cette base de données.
getURL() Récupère l'URL de la base de données actuelle.
supportsSavepoints() Vérifiez que la base de données actuelle prend en charge les points de sauvegarde
supportsStoredProcedures() Vérifiez que la météo de la base de données actuelle prend en charge les procédures stockées.
supportsTransactions() Vérifiez si la base de données actuelle prend en charge les transactions.

Exemple

L'exemple suivant démontre l'utilisation de la classe DatabaseMetaData.

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());
   }
}

sortie

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer