İlan
Java sağlar JDBC (Java Veri Tabanı Bağlantısı) Java SDK'nın (Yazılım Geliştirme Kiti) bir parçası olarak. Bunu kullanarak API, bir ağa bağlanmak çok kolaydır ilişkisel veritabanı Zaten Veritabanı Nedir? [Açıklamalar MakeUseOf]Bir programcı veya teknoloji meraklısı için, veritabanı kavramı gerçekten kabul edilebilir bir şeydir. Ancak, birçok insan için bir veritabanı kavramı biraz yabancıdır ... Daha fazla oku ve kayıtları sorgulama, ekleme, güncelleme ve silme gibi yaygın işlemleri gerçekleştirin.
Çekirdek JDBC API java'da yer alırken, MySQL veya SQL Server gibi belirli bir veritabanına bağlanmak için veritabanı sürücüsü olarak bilinen ek bir bileşen gerekir. Bu veritabanı sürücüsü, temel JDBC çağrılarını bu veritabanı tarafından anlaşılan bir biçime dönüştüren bir yazılım bileşenidir.
Bu makalede, bir MySQL veritabanına bağlanma ayrıntılarına ve onunla birkaç sorgunun nasıl gerçekleştirileceğine bakalım.
MySQL Veritabanı Sürücüsü
Yukarıda açıklandığı gibi, bir MySQL veritabanına bağlanabilmek için MySQL için JDBC sürücüsüne ihtiyacınız vardır. Buna Connector / J sürücüsü denir ve
burada MySQL sitesi.ZIP (veya TAR.GZ) dosyasını indirdikten sonra arşivi çıkarın ve JAR dosyasını kopyalayın mysql-connector-java-bin.jar uygun bir yere. Bu dosya, MySQL JDBC Sürücüsünü kullanan herhangi bir kodu çalıştırmak için gereklidir.
Örnek Veritabanı Oluşturma
MySQL veritabanını indirdiğinizi ve doğru şekilde ayarla Windows'ta MySQL Veritabanı Nasıl KurulurSık sık veritabanı sunucularına bağlanan uygulamalar yazarsanız, test amacıyla Windows makinenize bir MySQL veritabanının nasıl kurulacağını biliyorsanız iyi olur. Daha fazla oku buna erişiminiz olduğunda, sorguları bağlamak ve gerçekleştirmek için kullanabilmemiz için örnek bir veritabanı oluşturalım.
İstediğiniz bir istemciyi kullanarak veritabanına bağlanın ve örnek bir veritabanı oluşturmak için aşağıdaki ifadeleri çalıştırın.
veritabanı örneği oluşturma;
Ayrıca veritabanına bağlanabilmek için bir kullanıcı adı ve parolaya ihtiyacımız var (yönetici olarak bağlanmak istemiyorsanız, bu genellikle kötü bir fikirdir).
Aşağıdaki adlı bir kullanıcı oluşturur testuser MySQL veritabanına çalıştığı makineden bağlanacak ( localhost), şifreyi kullanarak securepwd.
'securepwd' ile tanımlanan 'testuser' @ 'localhost' kullanıcısı oluşturun;
Başka bir makinede çalışan bir veritabanına ( remotemc), aşağıdakileri kullanmanız gerekir (remotemc bir ana bilgisayar adı veya bir ip adresi olabilir):
'securepwd' ile tanımlanan 'testuser' @ 'remotemc' kullanıcısı oluşturun;
Artık kullanıcı adı ve parola oluşturulduğuna göre, önceden oluşturulan örnek veritabanına erişim izni vermemiz gerekiyor.
hepsini örnek üzerinde ver. * 'testuser' @ 'localhost';
Veya, veritabanı uzaksa:
tümünü örnek verin. * 'testuser' @ 'remotemc';
Şimdi aşağıdakileri yapabileceğinizi doğrulamanız gerekir: veritabanına bağlanmak Windows'ta MySQL Veritabanı Nasıl KurulurSık sık veritabanı sunucularına bağlanan uygulamalar yazarsanız, test amacıyla Windows makinenize bir MySQL veritabanının nasıl kurulacağını biliyorsanız iyi olur. Daha fazla oku yeni oluşturduğunuz kullanıcı ile aynı şifreyle. İzinlerin hepsinin doğru olduğundan emin olmak için bağlandıktan sonra aşağıdaki komutları da çalıştırabilirsiniz.
tablo joe oluştur (id int birincil anahtar auto_increment, name varchar (25)); damla masa joe;
Java Sınıf Yolunu Ayarlama
Şimdi MySQL'e nasıl bağlanacağımızın ayrıntılarına girelim. Java Başlarken Öğrenmeniz Gereken 10 Temel Java Kavramıİster GUI yazıyor olun, ister sunucu tarafı yazılım geliştirin, isterse Android kullanan bir mobil uygulama geliştirin, Java öğrenmek size iyi hizmet edecektir. İşte başlamanıza yardımcı olacak bazı temel Java kavramları. Daha fazla oku . İlk adım veritabanı sürücüsünü yüklemektir. Bu, aşağıdakileri uygun bir yerde çağırarak yapılır.
Class.forName ( "com.mysql.jdbc. Sürücü ");
Kod bir istisna fırlatabilir, bu nedenle onunla başa çıkmak istiyorsanız onu yakalayabilirsiniz (GUI için hata mesajını biçimlendirme gibi).
{Class.forName ("com.mysql.jdbc. Sürücü "); } catch (ClassNotFoundException ex) {// burada istisnayı kullanın. }
Sınıfta statik bir blokta bu kodu çağırmak çok yaygındır, bu nedenle sürücü yüklenemezse program hemen başarısız olur.
genel sınıf örneği. {static {deneyin {Class.forName ("com.mysql.jdbc. Sürücü "); } catch (ClassNotFoundException ex) {System.err.println ("MySQL Sürücüsü yüklenemedi"); } } }
Elbette, sürücüyü bulabilmek için, sınıf yolunda yer alan JAR sürücüsü (yukarıda indirilmiş ve çıkarılmış) ile aşağıdaki şekilde çağrılmalıdır.
java -cp mysql-bağlayıcı-java--bin.jar:...
Java'dan MySQL'e Bağlanma
Artık MySQL sürücüsünü java'dan yükleme ayrıntılarını kareye aldığımıza göre, veritabanına bağlanalım. Veritabanı bağlantısı oluşturmanın bir yolu DriverManager.
Dize jdbcUrl =...; Bağlantı con = DriverManager.getConnection (jdbcUrl);
Ve ne jdbcUrl? Veritabanının bulunduğu sunucu, kullanıcı adı vb. Dahil bağlantının ayrıntılarını gösterir. İşte örneğimiz için örnek bir URL.
Dize jdbcUrl = "jdbc: mysql: // localhost / örnek? "User = testuser ve şifre = secrepwd;
Ana bilgisayar adı da dahil olmak üzere bağlantı için gerekli tüm parametreleri eklediğimize dikkat edin (localhost), kullanıcı adı ve şifre. (Bunun gibi bir parola eklemek iyi bir uygulama değildir, alternatifler için aşağıya bakın.)
Bunu kullanarak jdbcUrl, bağlantıyı kontrol etmek için eksiksiz bir program.
genel sınıf örneği. {static {deneyin {Class.forName ("com.mysql.jdbc. Sürücü "); } catch (ClassNotFoundException ex) {System.err.println ("MySQL Sürücüsü yüklenemedi"); }} statik genel void main (String [] args) Exception atar {String jdbcUrl = "jdbc: mysql: // localhost / sample? "User = testuser ve şifre = securepwd; Bağlantı con = DriverManager.getConnection (jdbcUrl); System.out.println ( "Bağlı!"); con.close (); } }
Veritabanı bağlantısının bir programdaki değerli bir kaynak olduğunu ve yukarıdaki gibi düzgün bir şekilde kapatılması gerektiğini unutmayın. Ancak yukarıdaki kod bir istisna durumunda bağlantıyı kapatmaz. Normal veya anormal bir çıkışta bağlantıyı kapatmak için aşağıdaki deseni kullanın:
try (Connection con = DriverManager.getConnection (jdbcUrl)) {System.out.println ("Bağlı!"); }
Yukarıda belirtildiği gibi, şifreyi JDBC URL'sine gömmek kötü bir fikirdir. Kullanıcı adını ve şifreyi doğrudan belirtmek için, bunun yerine aşağıdaki bağlantı seçeneğini kullanabilirsiniz.
Dize jdbcUrl = "jdbc: mysql: // localhost / sample"; try (Bağlantı con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd")) { }
Veritabanını Java'dan Sorgulama
Şimdi veritabanına bağlantı kurulduğuna göre, veritabanı sürümünü sorgulamak gibi bir sorgunun nasıl gerçekleştirileceğini görelim:
sürüm seç ();
Java'da aşağıdaki gibi bir sorgu yürütülür. bir Beyan nesnesi oluşturulur ve Sorguyu çalıştır() yöntem döndüren Sonuç kümesi.
String queryString = "sürüm seç ()"; İfade stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString);
Sürümü Sonuç kümesi aşağıdaki gibi. 1 "1" den başlayarak sonuçlarda sütunun indeksini belirtir.
while (rset.next ()) {System.out.println ("Sürüm:" + rset.getString (1)); }
Sonuçlar işlendikten sonra nesnelerin kapatılması gerekir.
rset.close (); ) (Stmt.close;
Bu, Java'dan MySQL'e bağlanmak ve basit bir sorgu gerçekleştirmek için var olan her şeyi kapsar.
Projelerinizde MySQL ile JDBC kullandınız mı? Varsa, veritabanları ve java ile ilgili hangi problemleriniz oldu? Lütfen aşağıdaki yorumlarda bize bildirin.