आम तौर पर, डेटा के बारे में डेटा को मेटाडेटा के रूप में जाना जाता है। 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("Connection established......"); // 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()); // URL प्राप्त करना System.out.println(dbMetadata.getURL()); // संख्यात्मक फंक्शन की सूची प्राप्त करना System.out.println("Numeric functions: "+dbMetadata.getNumericFunctions()); System.out.println(""); // स्ट्रिंग फंक्शन की सूची प्राप्त करना System.out.println("String functions: "+dbMetadata.getStringFunctions()); System.out.println(""); // सिस्टम फंक्शन की सूची प्राप्त करना System.out.println("System functions: "+dbMetadata.getSystemFunctions()); System.out.println(""); // समय और दिनांक फंक्शन की सूची प्राप्त करना System.out.println("Time and Date funtions: "+dbMetadata.getTimeDateFunctions()); } }आउटपुट
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