Coding4ever’s Blog

Just coding… coding… and coding… because coding should be fun :)

Dapper .NET Micro-ORM Part 2

| Comments

Melanjutkan pembahasan Dapper .NET, kali ini saya akan mendemokan bagaimana mudahnya melakukan proses mapping record ke object dengan memanfaatkan library Dapper .NET.

Masih menggunakan kasus yang sama dengan postingan sebelumnya, kita sudah mempunyai tabel siswa berikut class entitynya, biar lebih mudah saya copas aja ke sini.

07022013-2

1
2
3
4
5
public class Siswa
{
    public string Nis { get; set; }
    public string Nama { get; set; }
}

dan untuk VB.NET coder kodenya terlihat lebih banyak :D

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Public Class Siswa

    Private _nis As String
    Public Property Nis() As String
        Get
            Return _nis
        End Get
        Set(ByVal value As String)
            _nis = value
        End Set
    End Property

    Private _nama As String
    Public Property Nama() As String
        Get
            Return _nama
        End Get
        Set(ByVal value As String)
            _nama = value
        End Set
    End Property

End Class

Sebelum kita beraksi jangan lupa untuk mendownload terlebih dulu library Dapper .NET disini (dotNetFx35) dan disini (dotNetFx40). Jadi silahkan download sesuai dengan versi dot NET Framework Anda.

Langkah berikutnya adalah mengaktifkan kembali project yang sudah kita bahas pada postingan sebelumnya.

21022013-1

Kemudian tambahkan referensi library Dapper .NET, dengan cara :

  1. Klik kanan node References

21022013-2

  1. Kemudian tentukan lokasi library Dapper .NET yang sudah Anda download

21022013-3

Jika berhasil akan ketambahan sub node baru (Dapper) di bawah node References

21022013-4

Cara kerja Dapper .NET adalah dengan mengextend interface IDbConnection yang digunakan oleh class-class connection seperti SqlConnection dan OleDbConnection.

Klo masih bingung perhatikan gambar berikut :

21022013-5

sekarang coba tambahkan namespace Dapper;

1
using Dapper;

di VB.NET kita menggunakan keyword Imports

1
Imports Dapper

maka secara otomatis objek conn akan mempunyai tambahan beberapa method baru seperti Execute, Query dan QueryMultiple.

21022013-6

Nah method-method itulah yang kita gunakan untuk menjalankan perintah-perintah SQL seperti INSERT, UPDATE, DELETE dan SELECT. Klo istilah krennya sih operasi CRUD.

Oke untuk contoh postingan kali ini kita akan mencoba menjalankan perintah SELECT dengan memanggil method Query di atas.

21022013-7

berikut kode VB.NET yg melakukan hal yang sama

26022013-1

pada kode di atas kita bisa melihat tanpa melakukan proses mapping sedikit pun, objek daftarSiswa akan terisi dengan kumpulan (collection) dari objek siswa, hanya dengan perintah sederhana berikut:

1
daftarSiswa = conn.Query(strSql, null).ToList();

kode yang sama untuk VB.NET

1
daftarSiswa = conn.Query(Of Siswa)(strSql, Nothing).ToList()

Tapi ada syaratnya yaitu nama-nama field yang ada di dalam tabel harus sama dengan nama-nama property yang ada di dalam class entity.

21022013-8

Trus bagaimana klo nama field dan propertynya berbeda ? Solusinya ya dengan menggunakan ALIAS pada saat melakukan proses query.

Lihat contoh berikut :

21022013-9

21022013-10

atau jika Anda menggunakan VB.NET kodenya akan terlihat seperti berikut :

26022013-2

Setelah itu tinggal ditampilkan hasilnya :

1
2
3
4
foreach (var siswa in daftarSiswa)
{
    Console.WriteLine(siswa.Nis + "\t" + siswa.Nama);
}

sekali lagi di VB.NET

1
2
3
For Each siswa In daftarSiswa
    Console.WriteLine (siswa.Nis & vbTab & siswa.Nama)
Next

07022013

Yuph saya rasa cukup untuk postingan kali ini, dan pada postingan berikutnya insyaAllah kita akan membahas bagaimana menjalankan perintah-perintah SQL lainnya seperti INSERT, UPDATE dan DELETE menggunakan library Dapper .NET.

Selamat MENCOBA :)

dapper .net, visual basic .net, visual c#

Tentang Penulis

Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service, Microservice) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database, Continuous Integration & Deployment dan arsitektur Microservice.
Selain mengajar, saat ini penulis juga bekerja sebagai staf IT di salah satu PTS di Yogyakarta sebagai senior software developer. Di waktu luang insya Alloh akan terus berbagi pengalaman di blog ini :)

« Dapper .NET Micro-ORM Part 1 Dapper .NET Micro-ORM Part 3 »

Comments