Tutorial MyBatis CRUD dan Mapping (XML)

MyBatis

Tulisan kali ini akan membahas mengenai MyBatis. Melalui site resmi MyBatis mybatis.github.io/mybatis-3, pengembangnya mengatakan bahwa MyBatis merupakan sebuah persistence framework yang dapat mempermudah para pengembang untuk bekerja dengan basisdata karena framework ini menyederhakan penggunaan JDBC.

Untuk bisa memahami penggunaan MyBatis maka kita harus langsung praktik. Seperti biasa saya membuat sebuah project menggunakan Maven. Gambar dibawah ini menunjukkan struktur akhir project.

project

Dependencies

Pada file pom.xml tambahkan beberapa dependency yang dibutuhkan. Lihat kodenya dibawah ini, yang paling utama tentunya kita menambahkan dependency dari MyBatis
file : pom.xml

Tabel Database dan Kelas Entity

Kita buat sebuah tabel database dengan nama user. Tabel ini nantinya akan kita gunakan untuk menampung data user yang kita jadikan sampel data untuk mengetes kode kita. Berikut adalah kode sql untuk membuat tabel tersebut.

Buat juga sebuah kelas entity dari tabel user tadi. Gunanya buat apa? sudah berkali-kali saya jelaskan, silahkan cek tulisan-tulisan yang terdahulu.
file : src/main/java/com/agungsetiawan/tutorialmybatis/domain/User.java

Konfigurasi MyBatis

Sekarang kita sampai pada bagian membuat file konfigurasi yang dibutuhkan oleh MyBatis. Disini kita akan membuat 2 buah file. File pertama berisi setingan untuk data source seperti username dan password database. Sedangkan file kedua merupakan file konfigurasi utama dari MyBatis.

file : src/main/resources/jdbc.properties

file : src/main/resources/mybatis-config.xml

Pada konfigurasi diatas alias digunakan supaya file konfigurasi UserMapper (akan kita buat pada bagian selanjutnya) bisa mengenali bahwa jika kita menuliskan “User” maka yang dimaksud adalah “com.agungsetiawan.tutorialmybatis.domain.User

Mapper

Buat sebuah interface untuk menangani proses CRUD

file : src/main/java/com/agungsetiawan/tutorialmybatis/mapper/UserMapper.java

Selanjutnya kita siapkan file xml untuk CRUD. SQL kita tulis disini, proses CRUD juga terjadi disini
src : src/main/resources/mapper/UserMapper/xml

Service

MyBatis untuk dapat bekerja memanipulasi database dia membutuhkan sebuah kelas yang bernama SqlSessionFactory. Kelas ini idealnya hanya diciptakan sekali ketika aplikasi berjalan, dia ada selama aplikasi masih hidup. Dia tidak dihapus dari memory atau diciptakan kembali. Hanya diciptakan sekali saat pertama kali dan hanya dihapus ketika aplikasi ditutup. Untuk itu kita akan membuat sebuah kelas util yang berguna untuk membuat objek dari SqlSessionFactory yang cukup sekali menggunakan Static Singleton pattern. Lebih jelas mengenai urusan life cycle ini silahkan kunjungi link berikut http://mybatis.github.io/mybatis-3/getting-started.html pada bagian Scope and Lifecycle.
So, berikut ini adalah kelas utilnya
file : src/main/java/com/agungsetiawan/tutorialmybatis/service/MyBatisUtil.java

Yup, next step adalah membuat service yang digunakan untuk proses CRUD memanfaatkan interface UserMapper yang kita buat diatas tadi.
file : src/main/java/com/agungsetiawan/tutorialmybatis/UserService.java

Penutup

MyBatis bisa dijadikan alternatif sebagai persistence framework untuk aplikasi yang kita bangun. Biasanya muncul pertanyaan kapan menggunakan MyBatis? kenapa tidak Hibernate atau JPA atau malah plain JDBC?
hehe untuk menjawabnya perlu banyak pengalaman dilapangan. Menjawab pertanyaan “kenapa” lebih susah daripada menjawab “bagaimana” πŸ™‚

Semoga bermanfaat πŸ˜€

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

Leave a Reply

Your email address will not be published. Required fields are marked *