সাধারণত, ডেটা সম্পর্কিত ডেটা মেটাডেটা হিসাবে পরিচিত। ডেটাবেস মেটাডেটা ইন্টারফেস আপনার সাথে সংযুক্ত ডাটাবেস সম্পর্কে তথ্য পাওয়ার পদ্ধতি প্রদান করে যেমন, ডাটাবেসের নাম, ডাটাবেস ড্রাইভার সংস্করণ, সর্বোচ্চ কলামের দৈর্ঘ্য ইত্যাদি...
ডেটাবেস মেটাডেটা এর কিছু পদ্ধতি নিচে দেওয়া হল ক্লাস।
| পদ্ধতি | বিবরণ |
|---|---|
| getDriverName() | বর্তমান JDBC ড্রাইভারের নাম পুনরুদ্ধার করে |
| getDriverVersion() | বর্তমান JDBC ড্রাইভারের সংস্করণ পুনরুদ্ধার করে |
| getUserName() | ব্যবহারকারীর নাম পুনরুদ্ধার করে। |
| getDatabaseProductName() | বর্তমান ডাটাবেসের নাম পুনরুদ্ধার করে। |
| getDatabaseProductVersion() | বর্তমান ডাটাবেসের সংস্করণ পুনরুদ্ধার করে। |
| getNumericFunctions() | এই ডাটাবেসের সাথে উপলব্ধ সাংখ্যিক ফাংশনগুলির তালিকা পুনরুদ্ধার করে৷ |
| getStringFunctions() | এই ডাটাবেসের সাথে উপলব্ধ সাংখ্যিক ফাংশনগুলির তালিকা পুনরুদ্ধার করে৷ |
| getSystemFunctions() | এই ডাটাবেসের সাথে উপলব্ধ সিস্টেম ফাংশনগুলির তালিকা পুনরুদ্ধার করে। |
| getTimeDateFunctions() | এই ডাটাবেসের সাথে উপলব্ধ সময় এবং তারিখ ফাংশনগুলির তালিকা পুনরুদ্ধার করে৷ |
| getURL() | বর্তমান ডাটাবেসের URL পুনরুদ্ধার করে। |
| সমর্থন করে সেভপয়েন্টস() | আবহাওয়া যাচাই করে বর্তমান ডাটাবেস সেভ পয়েন্ট সমর্থন করে |
| Stored Procedures() সমর্থন করে | বর্তমান ডাটাবেস সঞ্চিত পদ্ধতি সমর্থন করে আবহাওয়া যাচাই করে। |
| supportsTransactions() | বর্তমান ডাটাবেস লেনদেন সমর্থন করে আবহাওয়া যাচাই করে। |
উদাহরণ
নিম্নলিখিত উদাহরণটি ডেটাবেস মেটাডেটা ক্লাসের ব্যবহার প্রদর্শন করে৷
৷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());
}
} আউটপুট
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