Merhabalar arkadaşlar. Bu yazıda bir proje yazmaya çalışırken karşılaştığım bir yeniliği sizlere anlatmak istedim.
Java ile veritabanı işlemleri yaparken JDBC kullanabiliriz ve MySQL veritabanı kullanmak için sürücümüzü şimdiye kadar dinamik olarak yüklemeye tabi tutabiliyorduk. Ancak MySQL’in JDBC sürücünün 6. versiyonu ile gelen yenilikle birlikte bu dinamik yüklemeyi yapma zorunluluğunu ortadan kaldırıyor. MySQL JDBC kütüphanesi sürücü olarak artık com.mysql.cj.jdbc.Driver sınıfını kullanıyor ve Class.forname(…) ifadesi yazımı artık kullanılmıyor.
Hemen bir örnekle durumu görelim:
MySQL JDBC sürücüsü 6’dan önce:
PreparedStatement ps=null; Connection con=null; try { Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/kod5","root",""); //Devamında Yapacağınız İşlemler } catch (ClassNotFoundException | SQLException exception) { //Meydana Gelen Hataya Yönelik Girişim } finally{ try { if(con!=null){ con.close(); } if(ps!=null){ ps.close(); } } catch (SQLException sqlException) { //Meydana Gelen Hataya Yönelik Girişim } }
MySQL JDBC 6 ve sonrası:
PreparedStatement ps=null; Connection con=null; try { connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/kod5","root",""); //Sonrasında Yapacağınız İşlemler } catch (SQLException exception) { //Meydana Gelen Hataya Yönelik Girişim } finally{ try { if(con!=null){ con.close(); } if(ps!=null){ ps.close(); } } catch (SQLException sqlException) { System.out.println("Bir hata meydana geldi:"+sqlException); } }
Gördüğünüz gibi JDBC 6 ile birlikte Class.forname yapıp sürücü yüklemesi yapmak ve dolayısı ile ClassNotFoundException’ı yakalamak zorunda değiliz.
Başka bir yazıda görüşene kadar sağlıcakla kalın.
Selam ve Sevgilerimle