Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

DatabaseMetaData ใน JDBC คืออะไร ความสำคัญของมันคืออะไร?


โดยทั่วไป ข้อมูลเกี่ยวกับข้อมูลเรียกว่าข้อมูลเมตา 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