Membuat Konfigurasi Hibernate Dan Spring

Konfigurasi yang pertama kali kita buat adalah konfigurasi hibernate, untuk konfigurasi hibernate silahkan dilihat pada bab sebelumnya. Pada file hibernate.cfg.xml ubah menjadi seperti berikut.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration 
    DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <property name="hibernate.hbm2ddl.auto">update</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>

        <mapping class="com.belajar.springHibernate.model.Mahasiswa" />
    </session-factory>
</hibernate-configuration>

Bisa dilihat bahwa konfigurasi hibernate disini tidak mendeklarasikan koneksi ke database akan tetapi konfigurasu koneksi database akan dilakukan pada bagian spring. Tahap selanjutnya adalah membuat konfigurasi spring,

silahkan klik kanan pada <default package> yang berada pada other sources kemudian pilih new kemudian pilih other. Pada bagian categories pilih menu other, pada bagian file types pilih spring xml config. Klik next lalu pada bagian file name diisi dengan spring-configuration. Klik next lagi, kemudian pada bagian spring namespace check list pada context, p dan tx seperti gambar berikut.

Setelah selesai kemudian ubah codingan pada konfigurasi spring seperti berikut ini.

Berikut adalah penjelasan singkat mengenai beberapa konfigurasi diatas.

  • context:annotation-config : berfungsi untuk memberitahukan spring bahwa pada project yang kita buat akan menggunakan annotation sebagai konfigurasinya.

  • tx:annotation-driven : berfungsi untuk memberitahukan spring bahwa kita menggunakan annotation @Transaction untuk transaction management.

  • context:component-scan : berfungsi untuk mendefinisikan class - class mana saja yang menggunakan annotation @Repository, @Service sehingga class - class tersebut akan dimanage oleh spring.

  • context:property-placeholder : berfungsi untuk memanggil file properties, biasanya file properties ini berisi konfigurasi koneksi ke database. Agar konfigurasinya jalan maka kita harus membuat file propertiesnya, silahkan klik kanan pada <default package> yang berada pada other sources kemudian pilih other. Pada categories pilih other lalu pada bagian file types pilih properties file. Kemudian beri nama dengan jdbc seperti berikut.

Kemudian pada file tersebut ubah kodingannya menjadi seperti berikut ini.

  • bean id="dataSource" : bean yang berfungsi untuk deklarasi koneksi ke database, bisa dilihat bahwa pada bagian ini kita memanggil property - property dari file properties yang telah kita buat tadi misalnya ${jdbc.driver} artinya kita memanggil isi dari jdbc.driver yang berasal dari file properties yang telah kita buat.

  • bean id="sessionFactory" : bean ini berfungsi untuk melakukan inject ke property SessionFactory yang pernah kita deklarasikan sebelumnya di dalam class dao. Karena menggunakan spring maka object session factory yang ada di dalam class dao otomatis akan diinject ke bean session factory atau bisa dikatakan bahwa property session factory yang ada di dalam class dao membutuhkan depent dari bean session factory. Property yang diset pada bean session factory adalah datasource yang berfungsi untuk memanggil koneksi database kemudian configLocation yang berfungsi untuk memanggil konfigurasi hibernate, prefix classpath berarti konfigurasi database berada classpath atau berada pada folder src/main/resources/.

  • bean id="transactionManager" merupakan bean yang berfungsi untuk memanage transaction pada hibernate.

Tahap terakhir adalah membuat sebuah class main untuk meload semuanya, silahkan buat sebuah class dengan nama App seperti berikut ini.

kemudian ubah codingannya seperti berikut ini.

Setelah selesai silahkan klik kanan pada class App kemudian pilih run, berikut adalah output dari aplikasinya.

Last updated

Was this helpful?