Hoşgeldiniz Bugün 09 21 2017
#

Java ‘da Veritabanından Verileri Çekme JTable ‘a Ekleme

mysql-java-jdbc

Merhaba arkadaşlar. Java’da yeniyim biyografi bölümünde de bahsetmiştim. Bu yüzden C#Da ne kadar iyi olursanız olun kod akışı ve çoğu işleyiş aynı olsa temel konuların bazılarında işleyiş farkı var. Bariz şekilde anlatmak gerekirse C#’da veritabanından gelen verinizi Generic Liste aktarip Combobox’da gridview da v.s kullanabiliyorduk. Java da ise böyle birşey söz konusu değil gelin aşağıdaki örnek ile nasıl yapılır inceleyelim. Hem ilerde benim de işime yaracak ve kesin unutacağım eminim .Bu blog en çok bana yarıyor 😀

Bu örnekte butona tıklandığında veritabanındaki tabloya bağlanıp verileri JTable ‘a ekliyor, daha sonra JTable üzerindeki her hangi bir satıra tıklayınca bu satırdaki verileri 2. 3. ve 4. olanını JTextField’lere eklemeler yapıyor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    try {
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db","root","root"); //Mysql sunucusuna bağlandık
        Statement st = (Statement) con.createStatement();
        try (ResultSet rs = st.executeQuery("Select * from tablo")) { //Veritabanındaki tabloya bağlandık
            int colcount = rs.getMetaData().getColumnCount(); //Veritabanındaki tabloda kaç tane sütun var?
            DefaultTableModel tm = new DefaultTableModel(); //Model oluşturuyoruz
            for(int i = 1;i<=colcount;i++)
                tm.addColumn(rs.getMetaData().getColumnName(i)); //Tabloya sütun ekliyoruz veritabanımızdaki sütun ismiyle aynı olacak şekilde
            while(rs.next())
                {
                    Object[] row = new Object[colcount];
                    for(int i=1;i<=colcount;i++)
                        row[i-1] = rs.getObject(i);
                    tm.addRow(row);
                }
            jTable1.setModel(tm);
        }
        con.close();
    } catch (ClassNotFoundException | SQLException hata) {
        Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, hata);
    }
}
private void jTable1MousePressed(java.awt.event.MouseEvent evt) {
    int satir = jTable1.getSelectedRow(); //Seçilen satırı bulduk
    jTextField1.setText(String.valueOf(jTable1.getValueAt(satir,1)));
    jTextField2.setText(String.valueOf(jTable1.getValueAt(satir,2)));
    jTextField3.setText(String.valueOf(jTable1.getValueAt(satir,3)));
}

Basit şekilde veritabanı işlemi yapmak isteyenlere göre oldukça kullanışlı ve anlaşılır bir örnek oldu.


Yorum Yap