Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Dapatkan nama database mysql yang terhubung (JDBC)

Mungkin cara paling mudah untuk mendapatkan nama database dari objek Koneksi JDBC itu sendiri adalah melalui getCatalog() metode:

Connection#getCatalog()

Namun, seperti yang ditunjukkan Konstantin dalam komentarnya di bawah, nilai itu tidak akan berubah jika database MySQL saat ini diubah dengan mengeluarkan USE dbname penyataan.

getCatalog() mungkin masih berguna dalam aplikasi yang

  • tidak mengubah database, atau
  • melakukan sesuatu "JDBC Way" dengan menggunakan setCatalog() untuk mengubah database saat ini,

tetapi untuk MySQL, menggunakan SELECT DATABASE() tampaknya lebih aman secara keseluruhan.

Perhatikan juga bahwa potensi perbedaan antara getCatalog() dan database aktual saat ini tergantung pada perilaku driver JDBC tertentu. Karena penasaran saya mencoba sesuatu yang mirip dengan Microsoft JDBC Driver 4.0 untuk SQL Server dan .getCatalog() memang menyadari perubahan ke database saat ini segera setelah menjalankan USE dbname penyataan. Yaitu, kode

String connectionUrl = "jdbc:sqlserver://localhost:52865;"
        + "databaseName=myDb;" + "integratedSecurity=true";
try (Connection con = DriverManager.getConnection(connectionUrl)) {
    System.out.println(String.format(
            "getCatalog() returns: %s", 
            con.getCatalog()));
    try (Statement s = con.createStatement()) {
        System.out.println("           Executing: USE master");
        s.execute("USE master");
    }
    System.out.println(String.format(
            "getCatalog() returns: %s", 
            con.getCatalog()));
} catch (Exception e) {
    e.printStackTrace(System.out);
}

menghasilkan hasil sebagai berikut:

getCatalog() returns: myDb
           Executing: USE master
getCatalog() returns: master


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Baca hanya tabel di mysql

  2. mySQL menambahkan data jeda kolom

  3. Baca file teks dan transfer konten ke database mysql

  4. JSON_REMOVE() – Hapus Data dari Dokumen JSON di MySQL

  5. Editor Aloha:Menyisipkan gambar/gambar