Micro ORM Dapper VB.Net 2013 SQL Server
Halo sobat blogger,
Sumber : http://junindar.blogspot.co.id/2014/12/pengenalan-dapper-micro-orm-pada-vb-2013.html
4. Sp Select Produk By Kode Produk
5. Sp Select Semua Produk
CREATE PROCEDURE sp_SelectProduk
kali ini saya akan berbagi tentang ORM (Object Relational Mapping),
Apa itu ORM...???
Object Relational Mapping (ORM) adalah sebuah framework yang dapat
menjembatani perbedaan sistembasis data yang bersifat relational dengan paradigma
pengembangan aplikasi yang berorientasi objek. Setiap objek yang akan memetakan
menjadi tabel-tabel pada basis data relasional dibungkus oleh suatu interface dengan
menerapkan konsep design pattern. Hal tersebut bertujuan untuk memudahkan lapisan
aplikasi (controller) mengakses data tersebut.
Untuk para developer yang telah menggunakan ORM seperti Linq to Sql, EF
maupun NHibernate pasti akan merasakan benefitnya seperti productivity maupun
maintability pada saat membangun aplikasi. Yang menjadi pertanyaan bagaimanakah performa aplikasi yang menggunakan ORM ini? Salah satu isu yang masih “menghantui”
ORM adalah masalah performa dalam pengaksesan data pada Database.
Bagi para developer yang ingin menggunakan ORM dengan performa yang lebih
baik dapat menggunakan Micro ORM. Terdapat banyak Micro ORM pada .Net seperti
Dapper, Peta POCO, FluentData dan lain-lain. Kebanyakan Micro ORM menggunakan
single file dan sangat mudah untuk menggunakannya pada suatu project. Pada artikel ini
akan dijelaskan bagaimana cara menggunakan salah satu Micro ORM yaitu Dapper.
Sumber : http://junindar.blogspot.co.id/2014/12/pengenalan-dapper-micro-orm-pada-vb-2013.html
Untuk mengetahui lebih lanjut, mari kita memulai membuat ORM :D
pertama kita buat database dulu di SQL Server
create database dbToko
create table produk(
kodeProduk
int primary key,
namaProduk
varchar(100),
harga int,
jumlah int
)
Selanjutnya kita buat stored procedure untuk proses insert, update, delete, dan select
1. Sp Insert Produk
CREATE PROCEDURE
sp_InsertProduk
-- Add the parameters for the stored procedure here
@kodeProduk
int,
@namaProduk
varchar(100),
@harga int,
@jumlah
int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Insert Into produk values(@kodeProduk,@namaProduk,@harga,@jumlah)
END
2. Sp Update Produk
CREATE PROCEDURE
sp_UpdateProduk
-- Add the parameters for the stored procedure here
@kodeProduk
int,
@namaProduk
varchar(100),
@harga int,
@jumlah
int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Update produk Set
namaProduk = @namaProduk, harga = @harga,
jumlah = @jumlah Where
kodeProduk = @kodeProduk
END
3. Sp Delete Produk
CREATE PROCEDURE
sp_DeleteProduk
-- Add the parameters for the stored procedure here
@kodeProduk
int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Delete Produk Where
kodeProduk = @kodeProduk
END
4. Sp Select Produk By Kode Produk
CREATE PROCEDURE
sp_SelectProdukByKode
-- Add the parameters for the stored procedure here
@kodeProduk
int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Select * From produk Where
kodeProduk = @kodeProduk
END
5. Sp Select Semua Produk
CREATE PROCEDURE sp_SelectProduk
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Select * From produk
END
Ok, Selanjutnya kita buat visual basic project di visual studio.
untuk projectnya pilih yang Class Library, untuk nama projectnya DataAccess seperti gambar berikut :
Setelah membuat project, sekarang kita menambahkan library Dapper kedalam project, untuk menambahkan library harus terkoneksi dengan internet, caranya pilih TOOLS -> Library Package Manager -> Manage NuGet Packages Solution seperti pada gambar berikut :
Setelah proses Instalasi dapper selesai, tambahkan tiga(3) folder pada project, IDAO, DAO, dan Entity.
Pada Folder Entity tambahkan sebuah Class dengan nama Produk Seperti Dibawah ini :
Public Class Produk
Public Property KodeProduk() As String
Public Property NamaProduk() As String
Public Property Harga() As String
Public Property Jumlah() As String
End Class
Pada Folder IDAO tambahkan sebuah Interface dengan nama IProdukDAO Seperti Dibawah ini :
Public Interface IProdukDAO
Sub InsertProduk(ByVal Entity As Produk)
Sub UpdateProduk(ByVal Entity As Produk)
Sub DeleteProduk(ByVal KodeProduk As String)
Function SelectProduk() As List(Of Produk)
Function SelectProdukByKode(ByVal KodeProduk As String) As Produk
End Interface
Pada Folder DAO tambahkan sebuah Class dengan nama ProdukDAO Seperti Dibawah ini :
Imports System.Data.SqlClient
Imports Dapper
Public Class ProdukDAO
Implements IProdukDAO
Dim cmdAction As SqlCommand
Dim server As String = "Server =
.\SQLEXPRESS; Database = dbToko; Integrated Security = true"
Public Sub DeleteProduk(KodeProduk As String) Implements IProdukDAO.DeleteProduk
Using mycon As SqlConnection = New SqlConnection(server)
mycon.Open()
mycon.Query("sp_DeleteProduk",
New With {KodeProduk},
commandType:=CommandType.StoredProcedure)
End Using
End Sub
Public Sub InsertProduk(Entity As Produk) Implements IProdukDAO.InsertProduk
Using mycon As SqlConnection = New SqlConnection(server)
mycon.Open()
mycon.Query("sp_InsertProduk",
Entity,
commandType:=CommandType.StoredProcedure)
End Using
End Sub
Public Function SelectProduk() As List(Of Produk) Implements IProdukDAO.SelectProduk
Using mycon As SqlConnection = New SqlConnection(server)
mycon.Open()
Return mycon.Query(Of Produk)("sp_SelectProduk",
commandType:=CommandType.StoredProcedure)
End Using
End Function
Public Function SelectProdukByKode(KodeProduk As String) As Produk Implements IProdukDAO.SelectProdukByKode
Using mycon As SqlConnection = New SqlConnection(server)
mycon.Open()
Return mycon.Query(Of Produk)("sp_SelectProdukByKode", New With {KodeProduk},
commandType:=CommandType.StoredProcedure).FirstOrDefault()
End Using
End Function
Public Sub UpdateProduk(Entity As Produk) Implements IProdukDAO.UpdateProduk
Using mycon As SqlConnection = New SqlConnection(server)
mycon.Open()
mycon.Query("sp_UpdateProduk",
Entity,
commandType:=CommandType.StoredProcedure)
End Using
End Sub
End Class
Sampai disini DataAccess nya sudah selesai, selanjutnya kita tambahkan satu buah project baru didalam project dengan cara pilih menu File seperti pada gambar dibawah, projectnya yang ditambahkan adalah WindowsForm Application
Nama Projecnya Terserah, bebas sesuai keinginan :D
jika sudah desain form seperti dibawah ini :
Jika sudah Masukkan Source Code dibawah ini :
Imports DataAccess
Public Class Form1
Dim MyProdukAccess As IProdukDAO = New ProdukDAO()
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
Dim produk As New Produk With {.KodeProduk = TextBox1.Text,
.NamaProduk = TextBox2.Text, .Harga
= TextBox3.Text, .Jumlah =
TextBox4.Text}
MyProdukAccess.InsertProduk(produk)
bindGrid()
clearForm()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Try
Dim produk As New Produk With {.KodeProduk = TextBox1.Text,
.NamaProduk = TextBox2.Text, .Harga
= TextBox3.Text, .Jumlah =
TextBox4.Text}
MyProdukAccess.UpdateProduk(produk)
bindGrid()
clearForm()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
MyProdukAccess.DeleteProduk(TextBox1.Text)
bindGrid()
End Sub
Sub clearForm()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
End Sub
Sub bindGrid()
DataGridView1.DataSource =
MyProdukAccess.SelectProduk()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
bindGrid()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs)
Handles
DataGridView1.CellClick
Try
If DataGridView1.Rows(e.RowIndex).Cells("KodeProduk").Value
<> Nothing
Then
Dim myProduk As Produk =
MyProdukAccess.SelectProdukByKode(DataGridView1.Rows(e.RowIndex).Cells("KodeProduk").Value.ToString())
TextBox1.Text =
myProduk.KodeProduk
TextBox2.Text =
myProduk.NamaProduk
TextBox3.Text = myProduk.Harga
TextBox4.Text = myProduk.Jumlah
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
clearForm()
End Sub
End Class
Project-nya bisa Di Download Disni
Semoga Bermanfaat...
Happy Sharing :D
Comments
Post a Comment