โดยทั่วไป ข้อมูลเกี่ยวกับข้อมูลเรียกว่าข้อมูลเมตา DatabaseMetaData อินเทอร์เฟซมีวิธีการรับข้อมูลเกี่ยวกับฐานข้อมูลที่คุณเชื่อมต่อ เช่น ชื่อฐานข้อมูล เวอร์ชันไดรเวอร์ฐานข้อมูล ความยาวคอลัมน์สูงสุด ฯลฯ...
ต่อไปนี้เป็นวิธีการบางอย่างของ DatabaseMetaData ชั้นเรียน
วิธีการ | คำอธิบาย |
---|---|
getDriverName() | ดึงชื่อของไดรเวอร์ JDBC ปัจจุบัน |
getDriverVersion() | ดึงเวอร์ชันของไดรเวอร์ JDBC ปัจจุบัน |
getUserName() | ดึงชื่อผู้ใช้ |
getDatabaseProductName() | ดึงชื่อฐานข้อมูลปัจจุบัน |
getDatabaseProductVersion() | ดึงข้อมูลเวอร์ชันของฐานข้อมูลปัจจุบัน |
getNumericFunctions() | ดึงรายการฟังก์ชันตัวเลขที่มีอยู่ในฐานข้อมูลนี้ |
getStringFunctions() | ดึงรายการฟังก์ชันตัวเลขที่มีอยู่ในฐานข้อมูลนี้ |
getSystemFunctions() | ดึงรายการฟังก์ชันของระบบที่ใช้ได้กับฐานข้อมูลนี้ |
getTimeDateFunctions() | ดึงรายการฟังก์ชันเวลาและวันที่ที่มีในฐานข้อมูลนี้ |
getURL() | ดึงข้อมูล URL สำหรับฐานข้อมูลปัจจุบัน |
supportsSavepoints() | ตรวจสอบสภาพอากาศว่าฐานข้อมูลปัจจุบันรองรับการบันทึกคะแนน |
supportsStoredProcedures() | ตรวจสอบสภาพอากาศว่าฐานข้อมูลปัจจุบันรองรับขั้นตอนการจัดเก็บ |
supportsTransactions() | ตรวจสอบสภาพอากาศว่าฐานข้อมูลปัจจุบันรองรับการทำธุรกรรม |
ตัวอย่าง
ตัวอย่างต่อไปนี้สาธิตการใช้งานคลาส DatabaseMetaData
<ก่อน> นำเข้า java.sql.Connection; นำเข้า java.sql.DatabaseMetaData; นำเข้า java.sql.DriverManager; DatabaseMetadataExample คลาสสาธารณะ { โมฆะสาธารณะสาธารณะหลัก (สตริง args []) แสดงข้อยกเว้น { // รับการเชื่อมต่อสตริง mysqlUrl =" jdbc:mysql://localhost/sampleDB"; การเชื่อมต่อ con =DriverManager.getConnection (mysqlUrl, "root", "password"); System.out.println("การเชื่อมต่อสำเร็จ......"); //การสร้างวัตถุ DatabaseMetaData DatabaseMetaData dbMetadata =con.getMetaData(); // เรียกใช้เมธอด supportBatchUpdates() บูลีนบูล =dbMetadata.supportsBatchUpdates(); if (bool) { System.out.println ("ฐานข้อมูลที่รองรับการอัพเดทแบบแบตช์"); } อื่น { System.out.println ("ฐานข้อมูลที่อ้างอิงไม่รองรับการอัพเดตแบบแบตช์"); } //เรียกชื่อไดรเวอร์ System.out.println(dbMetadata.getDriverName()); //การดึงข้อมูลเวอร์ชันไดรเวอร์ System.out.println(dbMetadata.getDriverVersion()); //เรียกชื่อผู้ใช้ System.out.println(dbMetadata.getUserName()); //เรียก URL 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()); }}ผลลัพธ์
เชื่อมต่อแล้ว......ฐานข้อมูลอ้างอิงรองรับการอัพเดตแบบแบตช์MySQL-AB JDBC Drivermysql-connector-java-5.1.12 ( รุ่นแก้ไข:${bzr.revision-id} )root@localhostjdbc:mysql://localhost/ ตัวอย่างฟังก์ชันDBNumeric: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,TRUNCATEString ฟังก์ชัน:ASCII,BIN,BIT_LENGTH,CHAR,CHARACTER_LENGTH,CHAR_LENGTH,CONCAT,CONCAT_WS,CONV,ELT,EXPORT_SET,FIELD,FIND_IN_SET,HEX,INSERT,INSTR,LCASE,LOCADLATE,LOCADLATE, LOCATE,LOWER,LPAD,LTRIM,MAKE_SET,MATCH,MID,OCT,OCTET_LENGTH,ORD,POSITION,QUOTE,REPEAT,แทนที่,ย้อนกลับ,ขวา,RPAD,RTRIM,SOUNDEX,SPACE,STRCMP,SUBSTRING,SUBSTRING,SUBSTRING,SUBSTRING ฟังก์ชัน SUBSTRING_INDEX,TRIM,UCASE,UPPERSystem:DATABASE,USER,SYSTEM_USER,SESSION_USER,PASSWORD,ENCRYPT,LAST_INSERT_ID,VERSIONฟังก์ชันเวลาและวันที่:DAYOFWEEK,WEEKDAY,DAYOFMONTH,DAYOFYEAR,MONTH,DAYNAME,MONTHNAME,QUARTER นาที,วินาที,PERIOD_ADD,PERIOD_DIFF,TO_DAY S,FROM_DAYS,DATE_FORMAT,TIME_FORMAT,CURDATE,CURRENT_DATE,CURTIME,CURRENT_TIME,NOW,SYSDATE,CURRENT_TIMESTAMP,UNIX_TIMESTAMP,FROM_UNIXTIME,SEC_TO_TIME,TIME_TO_SEC