SORU
15 Mayıs 2010, CUMARTESİ


Java MySQL veritabanına bağlanmak

Nasıl Java ile MySQL veritabanına bağlanmak mı?

CEVAP
15 Mayıs 2010, CUMARTESİ


İşte MySQL gerekli OLANLARI yüklemek ve kullanmak için nasıl: adım açıklaması bir adım

  1. 52 ** MySQL sunucusu yüklemek. Yap işte her zamanki gibi. Değiştirdik her bağlantı noktası numarasını hatırlıyorum. Varsayılan olarak 3306.

  2. Download sürücü BULUNMAKTAYDI ve sınıf koymakZİP dosyası içeren KAVANOZ sınıf dosya koy ayıklayın. Satıcıya özgü OLANLARI (sürücüJDBC API bu somut bir uygulama(tutorial here)..

    Eğer Eclipse ya da Eclipse gibi bir IDE kullanıyorsanız, daha sonra JAR dosyasını ekleyerek sınıf için ekleyebilirsinizKütüphaneiçinYol İnşa Etmekproje özellikleri.

    Yapıyorsan "düz vanilya" komutunu, sonra ihtiyacınız belirtmek yolunu JAR dosyası -cp -classpath değişken çalıştırıldığında Java uygulaması.

    java -cp .;/path/to/mysql-connector.jar com.example.YourClass

    . sadece eklemek içinmevcutcom.example.YourClass ; bulabilirsiniz, sınıf olarak çok iyi dizin Windows gibi sınıf ayırıcı. Unıx ve klonlar : kullanılmalıdır.

  3. MySQL database oluşturun. Hadi bir veritabanı javabase oluşturun. Elbette senin hadi kullan UTF-8 de yani Dünya Hakimiyeti.

    CREATE DATABASE javabase DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    
  4. Java için Create an user 58* erişim. Sadece root kullanma çünkü kötü bir uygulama.

    CREATE USER 'java'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL ON javabase.* TO 'java'@'localhost' IDENTIFIED BY 'password';
    

    , java Evet kullanıcı adı ve password şifre burada.

  5. Determine OLANLARI (URL. MySQL veritabanı kullanarak bağlanmak için aşağıdaki sözdiziminde OLANLARI bir URL gerekir Java:

    jdbc:mysql://hostname:port/databasename
    • hostnameMySQL sunucunun bulunduğu makinaya yüklenir. Eğer Java kod çalıştırdığı aynı makinede yüklü, o zaman sadece localhost kullanabilirsiniz. Ayrıca 127.0.0.1 gibi bir IP adresi olabilir. Eğer karşılaştığınız sorunları ve Bağlantı localhost yerine 127.0.0.1 kullanarak çözüldü, o zaman ağ/DNS/config içinde barındıran bir sorun var.

    • port: TCP MySQL sunucu dinler nerede/IP bağlantı noktası. Bu, varsayılan olarak 3306.

    • databasename: Veritabanı adı bağlanmak istiyorum. javabase.

    Son URL gibi görünmelidir:

    jdbc:mysql://localhost:3306/javabase
  6. Java kullanarak MySQL Test the connection. main() bir yöntem ile basit bir Java sınıfı bağlantıyı sınayın.

    String url = "jdbc:mysql://localhost:3306/javabase";
    String username = "java";
    String password = "password"
    
    System.out.println("Connecting database...");
    
    try (Connection connection = DriverManager.getConnection(url, username, password)) {
        System.out.println("Database connected!");
    } catch (SQLException e) {
        throw new IllegalStateException("Cannot connect the database!", e);
    }
    

    Eğer sen bir SQLException: No suitable driver o zaman demek ki ya yerli mal driver olmadığını autoloaded hiç veya yanlış OLANLARI (URL (yani olmadığını kabul ederek, herhangi bir yüklü sürücüler). Normalde, gerekli OLANLARI 4.0 sürücüsü sadece çalışma zamanı sınıf içinde bırakın ne zaman autoloaded olmalıdır. Bir hariç ve diğer, her zaman elle aşağıdaki gibi yükleyebilirsiniz:

    System.out.println("Loading driver...");
    
    try {
        Class.forName("com.mysql.jdbc.Driver");
        System.out.println("Driver loaded!");
    } catch (ClassNotFoundException e) {
        throw new IllegalStateException("Cannot find the driver in the classpath!", e);
    }
    

    newInstance() çağrısıdırdeğilburada gerekli. Sadece eski ve düzeltme org.gjt.mm.mysql.Driver adamcağız. Explanation here. Bu satırı atar ClassNotFoundException, sonra JAR dosyasını OLANLARI (sürücü sınıf içeren basit bir sınıf olarak yerleştirilmiş değil.

    Sürücüyü yüklemek için gerekmez unutmayınher seferindeöncebağlanma. Sadece bir kez uygulama başlatma sırasında yeterli.

    Eğer SQLException: Connection refused Connection timed out veya bir MySQL belirli bir alırsanız CommunicationsException: Communications link failure, DB hiç erişilebilir değil demektir. Bu aşağıdaki nedenlerden biri veya daha fazlası olabilir:

    1. IP adresi veya URL OLANLARI (adını yanlış.
    2. OLANLARI (URL, Hostname yerel DNS sunucusu tarafından tanınmıyor.
    3. Port numarası eksik ya da OLANLARI (URL yanlış.
    4. DB sunucusu çalışmıyor.
    5. DB sunucu TCP/IP bağlantılarını kabul etmez.
    6. DB server bağlantıları yok.
    7. Java ve DB arasında bir bağlantı, örneğin bir güvenlik duvarı veya proxy engelliyor.

    Biri veya diğeri çözmek için aşağıdaki tavsiyeleri uygulayın:

    1. Doğrulamak ve ping ile onları test.
    2. DNS yenileme OLANLARI URL veya IP adresini kullanın.
    3. MySQL DB my.cnf dayalı olun.
    4. DB başlayın.
    5. Eğer kullanın --skip-networking option başlatılırsa olun.
    6. DB yeniden başlatın ve kodu finally bağlantıları kapatır buna göre Düzelt.
    7. Ve/veya yapılandırma güvenlik duvarı/proxy güvenlik duvarı/port izin iletmek için devre dışı bırakın.

    Connection kapanış olduğunu unutmayınson dereceönemli. Eğer bağlantıları kapatın ve kısa bir süre içinde bir sürü almak yok eğer doğru değilse, o zaman veritabanı bağlantıları çalıştırabilir ve uygulama kesilebilir. Her zaman try-with-resources statement Connection kazanmasıdır. Ya eğer Java 7 Eğer Henüz değil, açıkça try-finally blok finally kapatın. finally kapanış sadece bir istisna durumunda da kapalı olsun emin olmak için. Bu da Statement, PreparedStatement ve ResultSet için geçerlidir.

Bu bağlantı ile ilgili olarak çok uzaktı. here ve temel bir DAO sınıfı yardımıyla bir veritabanı fullworthy Java modeli nesneleri yüklemek saklamak için nasıl daha gelişmiş bir öğretici bulabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010
  • MuscleProdigyTV

    MuscleProdig

    8 Ocak 2011
  • optionalinfo

    optionalinfo

    29 EKİM 2005