All Products
Search
Document Center

DataWorks:Buat API dari sumber data (API Gateway)

Last Updated:Apr 25, 2026

Studio Layanan Data memungkinkan Anda membuat API data dari sumber data yang telah ada menggunakan antarmuka tanpa kode atau editor kode. Topik ini memberikan panduan langkah demi langkah untuk membuat API dengan API Gateway, mencakup cara mengaktifkan API Gateway, membuat proses bisnis, serta menghasilkan dan mengonfigurasi API.

Catatan

Untuk cloud-native API Gateway, lihat Buat, publikasikan, dan panggil API (cloud-native API Gateway).

Prasyarat

  • Anda telah mengonfigurasi sumber data di halaman Workspace Management > Data source management. Untuk detailnya, lihat Konfigurasikan sumber data.

  • Layanan data memerlukan kelompok sumber daya. Di lingkungan produksi, kami menyarankan menggunakan kelompok sumber daya arsitektur tanpa server. Untuk detailnya, lihat Kelompok sumber daya dan konektivitas jaringan.

Studio Layanan Data

Masuk ke Konsol DataWorks. Di wilayah target, klik Data Analysis and Service > DataService Studio di panel navigasi sebelah kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to DataService Studio.

Langkah 1: Siapkan API Gateway

Sebelum membuat proses bisnis, selesaikan tugas berikut di konsol API Gateway.

  1. Masuk ke Konsol API Gateway dan aktifkan API Gateway.

  2. Di konsol API Gateway, buat kelompok API. Kelompok API adalah kumpulan API untuk fitur atau skenario tertentu dan merupakan unit manajemen dasar API di API Gateway.

    Penting

    Wilayah API Gateway harus sesuai dengan wilayah ruang kerja DataWorks.

Langkah 2: Buat proses bisnis

Layanan data menggunakan proses bisnis untuk mengorganisasi pengembangan API berdasarkan domain bisnis. Setiap proses bisnis harus di-bind ke kelompok API. Sebelum dapat menghasilkan API, Anda harus terlebih dahulu membuat proses bisnis.

  1. Di halaman Service Development, klik ikon image.png dan pilih Create Workflow.

  2. Di kotak dialog Create Workflow, konfigurasikan parameter.

    Parameter

    Deskripsi

    Workflow Name

    Nama harus unik dalam ruang kerja. Panjangnya harus 4 hingga 50 karakter, dimulai dengan huruf atau karakter Tionghoa, serta dapat berisi karakter Tionghoa, huruf, angka, dan garis bawah (_).

    API grouping

    Pilih kelompok API yang telah Anda buat di Langkah 1. Untuk membuat kelompok baru, buka konsol API Gateway.

    Penting

    Setelah proses bisnis di-bind ke kelompok API, Anda tidak dapat mengubah kelompok tersebut. Pilih kelompok dengan hati-hati.

    Business Description

    Masukkan deskripsi untuk proses bisnis. Deskripsi tidak boleh melebihi 180 karakter.

  3. Klik Determine. Setelah proses bisnis dibuat, Anda dapat melihatnya di daftar Workflow.

Langkah 3: Pilih mode API

Layanan Data memungkinkan Anda membuat API dalam wizard mode atau script mode. Kedua mode memiliki proses konfigurasi API dasar yang sama, tetapi berbeda dalam cara membangun logika kueri.

Perbandingan mode

Kategori fitur

Fitur

Wizard mode

Script mode

Objek kueri

Kueri tabel data tunggal dari satu sumber data

Didukung

Didukung

JOIN multi-tabel dalam satu sumber data

Tidak didukung

Didukung

Kondisi kueri

Kueri kesamaan, rentang, dan pencocokan kabur

Didukung dengan memilih operator

Didukung dengan mendefinisikan SQL kustom

Kondisi MyBatis dinamis (seperti parameter opsional)

Tidak didukung

Didukung dalam Advanced SQL Mode

Hasil kueri

Mengembalikan nilai bidang mentah dan membagi hasil menjadi halaman

Didukung

Didukung

Operasi matematika dan fungsi agregat

Tidak didukung

Didukung

Memilih mode

  • Gunakan wizard mode: untuk kueri sederhana pada satu tabel data, seperti penyaringan berdasarkan kesamaan, pencocokan kabur, atau rentang. Mode ini menyediakan antarmuka visual tanpa kode untuk konfigurasi API.

  • Gunakan script mode: untuk kueri lanjutan, seperti JOIN multi-tabel, subkueri bersarang, agregasi, atau kondisi dinamis dengan parameter opsional.

Catatan

Anda dapat mengonversi API dari wizard mode ke script mode, tetapi perubahan ini tidak dapat dikembalikan. Untuk informasi lebih lanjut, lihat Lampiran: Konversi dari wizard mode ke script mode.

Langkah 4: Hasilkan API

  1. Di halaman Service Development, arahkan kursor ke ikon image.png dan klik Create API > Generate API.

    Atau, buka proses bisnis yang relevan, klik kanan API, lalu pilih Create API > Generate API.

  2. Di kotak dialog Generate API, konfigurasikan parameter.

    Parameter

    Deskripsi

    API Mode

    Pilih Wizard Mode atau Code Editor. Jika Anda memilih script mode, Anda juga harus memilih SQL Mode (Basic SQL atau Advanced SQL).

    • Basic SQL: Tulis logika kueri menggunakan sintaks SQL dasar.

    • Advanced SQL: Tulis logika kueri menggunakan sintaks SQL yang mendukung tag MyBatis. Tag yang didukung meliputi if, choose, when, otherwise, trim, foreach, dan where.

    API Name

    Nama dapat berisi karakter Tionghoa, huruf, angka, dan garis bawah (_). Nama harus dimulai dengan huruf atau karakter Tionghoa dan panjangnya 4 hingga 50 karakter.

    APIPath

    Jalur titik akhir API. Ini adalah jalur permintaan relatif terhadap host layanan, misalnya /user. Jalur dapat berisi huruf, angka, garis bawah (_), dan tanda hubung (-). Jalur harus dimulai dengan garis miring (/) dan panjang maksimal 200 karakter.

    Protocol

    Mendukung HTTP dan HTTPS.

    Untuk memanggil API melalui HTTPS, Anda harus mempublikasikannya ke API Gateway, mengikat domain kustom, dan mengunggah sertifikat SSL di konsol API Gateway. Untuk informasi lebih lanjut, lihat Dukungan untuk HTTPS.

    Request Method

    Mendukung GET dan POST.

    Catatan

    Jika Anda memilih GET, lokasi parameter permintaan harus QUERY. Jika Anda memilih POST, lokasi ini dapat berupa QUERY atau Body.

    Response Type

    Hanya JSON yang didukung.

    Visible Scope

    • Work space: API terlihat oleh semua anggota ruang kerja saat ini.

    • Private: API hanya terlihat oleh pemiliknya. Saat ini, otorisasi kepada pengguna lain tidak didukung.

    Tag

    Pilih hingga lima tag dari daftar. Setiap tag panjangnya maksimal 20 karakter. Untuk informasi lebih lanjut, lihat Buat dan Kelola Tag API.

    Description

    Masukkan deskripsi singkat untuk API. Deskripsi tidak boleh melebihi 2.000 karakter.

    Location

    Pilih proses bisnis yang sudah ada untuk menyimpan API. Struktur jalur default adalah "proses bisnis/Nama Proses Bisnis/API".

  3. Klik Determine untuk membuka halaman pengeditan API.

Langkah 5: Konfigurasikan API

1. Pilih sumber data dan tabel

Klik ganda API untuk membuka halaman editnya. Di area Table, konfigurasikan parameter seperti Data Source Type, Data Source Name, dan Data Source Environment. Parameter konfigurasi bervariasi tergantung jenis sumber data. Lihat UI untuk parameter spesifiknya.

Catatan
  • Anda harus terlebih dahulu mengonfigurasi sumber data di Workspace Management > Data source management. Daftar drop-down tabel data mendukung pencarian berdasarkan nama tabel.

  • Dalam script mode, Anda harus terlebih dahulu memilih sumber data. Anda hanya dapat melakukan kueri JOIN multi-tabel dalam satu sumber data.

  • Di ruang kerja mode standar, Anda dapat menggunakan parameter Data Source Environment untuk mengakses sumber data di lingkungan pengembangan atau produksi. Untuk informasi lebih lanjut, lihat Perbedaan antara mode ruang kerja.

  • Untuk sumber data MaxCompute, Anda dapat menggunakan Acceleration Service DataService DataWorks atau fitur MaxCompute MCQA untuk mempercepat kueri. Untuk menggunakan layanan akselerasi, Anda harus terlebih dahulu membuat item akselerasi. Untuk informasi lebih lanjut, lihat Layanan akselerasi.

2. Definisikan logika kueri

Anda mendefinisikan logika kueri secara berbeda di wizard mode dan script mode.

Wizard mode: pilih parameter

Setelah memilih tabel data, semua bidang tabel akan ditampilkan secara otomatis di area Select Parameters. Pilih kotak centang Set as Req Param dan Set as Resp Param untuk bidang yang Anda perlukan.

Untuk mengurutkan hasil kueri, klik tombol Sort di samping bidang untuk menambahkannya ke daftar pengurutan. Anda dapat menambahkan beberapa bidang ke daftar. Nomor urut menentukan prioritas, dengan angka lebih kecil menunjukkan prioritas lebih tinggi. Anda dapat menyesuaikan prioritas menggunakan tombol Move Up dan Move Down. Untuk setiap bidang, Anda dapat memilih Ascending order atau Descending order.

Script mode: tulis SQL kueri

Di area Edit Query SQL, masukkan pernyataan SQL kueri.

Mode Basic SQL: Gunakan ${paramName} untuk menandai parameter permintaan. Bidang setelah SELECT adalah parameter respons, dan ${param} dalam klausa WHERE adalah parameter permintaan.

Ikuti aturan berikut saat menulis pernyataan SQL:

  • Kueri tabel tunggal, kueri JOIN multi-tabel, dan kueri bersarang dalam satu sumber data didukung.

  • Beberapa pernyataan SQL, komentar, dan sintaks non-SELECT seperti INSERT, UPDATE, atau DELETE tidak didukung.

  • SELECT * tidak didukung. Anda harus secara eksplisit menentukan kolom yang akan dikueri.

  • Jika nama kolom mencakup prefiks tabel (misalnya, t.name), Anda harus memberinya alias (misalnya, t.name as name). Anda juga harus memberikan alias untuk fungsi agregat.

  • Menempatkan ${param} dalam tanda kutip tidak didukung. Untuk menggabungkan string, gunakan concat('abc', ${xyz}, '123').

  • Mode Basic SQL tidak mendukung pengaturan parameter sebagai opsional.

Mode Advanced SQL mendukung sintaks tag MyBatis (misalnya, if, choose, when, otherwise, trim, foreach, dan where), yang memungkinkan Anda secara fleksibel mengimplementasikan logika kueri kompleks seperti validasi nilai null, iterasi multi-nilai, kueri tabel dinamis, dan pengurutan dinamis. Untuk contoh kode skenario umum, lihat Lampiran: Contoh Advanced SQL (sintaks MyBatis).

Saat menggunakan karakter khusus dalam mode Advanced SQL, Anda harus melakukan escape:

Karakter khusus

Karakter escape

Deskripsi

>

>

Lebih besar dari

>=

>=

Lebih besar dari atau sama dengan

<

&lt;

Kurang dari

<=

&lt;=

Kurang dari atau sama dengan

&

&amp;

Dan

'

&apos;

Tanda kutip tunggal

"

&quot;

Tanda kutip ganda

3. Konfigurasikan parameter permintaan

Klik Request Parameters di panel kanan halaman edit API untuk mengonfigurasi parameter.

Catatan
  • Sebelum melihat pratinjau hasil, atur nilai contoh, nilai default, dan deskripsi untuk parameter API.

  • Untuk kinerja terbaik, gunakan bidang indeks sebagai parameter permintaan.

  • Dalam mode Advanced SQL, sistem tidak dapat mengurai parameter secara otomatis. Anda harus menambahkan semua parameter permintaan ke daftar secara manual berdasarkan skrip SQL Anda.

  • Wizard mode tidak mendukung pembuatan rentang nilai untuk bidang menggunakan dua parameter. Gunakan script mode untuk fungsionalitas ini.

Parameter

Deskripsi

Parameter Name

Nama dapat berisi huruf, angka, garis bawah (_), dan tanda hubung (-). Nama harus dimulai dengan huruf dan panjang maksimal 64 karakter.

Bound Field

Parameter ini hanya terlihat di wizard mode dan read-only secara default. Parameter ini di-bind ke bidang tabel data yang dipilih. Untuk mengubah binding, gunakan script mode.

Parameter Type

Jenis yang didukung: STRING, INT, LONG, FLOAT, DOUBLE, dan BOOLEAN.

Parameter Position

QUERY atau BODY. Jika Anda memilih BODY, Anda harus mengatur Content-Type. Format yang didukung adalah JSON, XML, dan FORM.

Operator

Parameter ini hanya terlihat di wizard mode. Parameter ini mendefinisikan operator perbandingan untuk parameter. Operator yang didukung meliputi: =, LIKE, IN, NOT IN, NOT LIKE, !=, >, <, >=, dan <=.

Catatan

Saat jenis sumber data adalah Table Store, hanya operator = yang didukung.

Required

Menentukan apakah parameter diperlukan untuk pemanggilan API.

Sample Value

Nilai contoh untuk parameter permintaan.

Default Value

Nilai default untuk parameter permintaan.

Description

Deskripsi singkat untuk parameter permintaan.

4. Konfigurasikan parameter respons dan paginasi

Klik Response Parameters di panel kanan halaman edit API untuk mengonfigurasi nama parameter, jenis parameter, nilai contoh, dan deskripsi. Dalam mode Advanced SQL, Anda harus menambahkan semua parameter respons secara manual berdasarkan skrip SQL Anda.

Di area Advanced Settings, tentukan apakah akan mengaktifkan Pagination for Return Results:

  • Nonaktif: API mengembalikan maksimal 2.000 catatan secara default.

  • Aktif: Anda dapat mengatur jumlah maksimum catatan per halaman di halaman Resource Group for DataService Studio berdasarkan jenis kelompok sumber daya.

Saat paginasi diaktifkan, sistem secara otomatis menambahkan parameter umum berikut:

  • Parameter permintaan umum: returnTotalNum (apakah mengembalikan jumlah total catatan), pageNum (nomor halaman saat ini), dan pageSize (jumlah catatan per halaman).

  • Parameter respons umum: pageNum, pageSize, dan totalNum (jumlah total catatan).

Catatan
  • Jika API tidak memiliki parameter permintaan, Anda harus mengaktifkan paginasi respons.

  • Dalam script mode, jika pernyataan SQL berisi klausa limit, klausa limit tidak berlaku saat paginasi diaktifkan. Pengaturan paginasi memiliki prioritas lebih tinggi.

5. Konfigurasikan filter (opsional)

Untuk memproses awal parameter permintaan atau memproses akhir hasil kueri, klik Filter di panel navigasi sisi kanan. Pilih kotak centang Use Pre-filter atau Use Post-filter. Kemudian, pilih Function Type dan pilih fungsi. Anda dapat menambahkan beberapa fungsi, yang dieksekusi sesuai urutan penambahannya. Untuk informasi lebih lanjut tentang cara membuat dan menggunakan filter, lihat Buat fungsi Aviator dan Buat fungsi Python.

Catatan
  • Untuk menggunakan fungsi Python sebagai filter, Anda harus terlebih dahulu mengaktifkan DataWorks Edisi Profesional atau versi yang lebih tinggi serta menggunakan kelompok sumber daya layanan publik.

  • Untuk menggunakan fungsi Aviator sebagai filter, tidak ada batasan edisi DataWorks, tetapi Anda harus menggunakan kelompok sumber daya layanan eksklusif.

  • Jika fungsi tidak muncul di daftar drop-down filter, periksa apakah fungsi tersebut telah dipublikasikan. Untuk informasi lebih lanjut, lihat Publikasikan fungsi.

6. Konfigurasikan kelompok sumber daya layanan

Di panel navigasi sisi kanan, klik Resource Group for DataService Studio untuk mengonfigurasi jenis kelompok sumber daya untuk API.

Anda dapat menggunakan Exclusive Resource Group for DataService Studio atau Shared Resource Group for DataService Studio. Untuk kelompok sumber daya layanan eksklusif, Anda dapat memilih kelompok sumber daya target berdasarkan nama. Kelompok sumber daya layanan publik dikelola secara otomatis oleh DataWorks.

Catatan
  • Kami menyarankan Anda hanya menggunakan kelompok sumber daya layanan publik untuk pengujian, bukan di lingkungan produksi.

  • Jika kelompok sumber daya target tidak ada dalam daftar, buka halaman Kelompok Sumber Daya untuk mengaitkan kelompok sumber daya dengan ruang kerja.

Di area Environment Configuration, Anda dapat mengatur Memory, Timeout, dan Maximum Number of Data Records for a Single Request:

  • Timeout: Timeout tidak boleh melebihi 30.000 ms untuk instans API Gateway bersama, atau 90.000 ms untuk kelompok sumber daya layanan eksklusif yang menggunakan instans API Gateway khusus.

    Catatan

    Waktu respons API bergantung pada waktu eksekusi SQL. Atur nilai timeout cukup tinggi untuk mengakomodasi hal ini dan mencegah kegagalan permintaan akibat timeout.

  • Jumlah maksimum catatan per halaman: Maksimal 2.000 untuk kelompok sumber daya layanan publik dan maksimal 10.000 untuk kelompok sumber daya layanan eksklusif. Jumlah total hasil yang dapat dikembalikan API tidak dibatasi.

Langkah 6: Simpan dan kirim

Klik ikon 保存 di bilah alat untuk menyimpan API. Kelompok sumber daya yang dipilih kemudian akan berlaku selama pengujian.

Langkah selanjutnya

  • Uji dan publikasikan:

    • Setelah mengonfigurasi API, Anda dapat mengujinya. Untuk informasi lebih lanjut, lihat Uji API.

    • Setelah pengujian berhasil, klik Submission di pojok kanan atas.

    • Di halaman edit API, klik Version di panel navigasi sisi kanan. Temukan versi yang ingin Anda publikasikan dan klik Request to Publish. Di halaman aplikasi, jenis aplikasi secara default adalah Publish API in DataService Studio. Masukkan Application Reason dan klik Requested Permissions untuk mengirim permintaan Anda.

      Catatan

      Jika ruang kerja Anda di Pusat Persetujuan DataWorks dikonfigurasi dengan alur kerja persetujuan, permintaan harus disetujui sebelum API dapat dipublikasikan. Untuk informasi lebih lanjut, lihat Ikhtisar Pusat Persetujuan.

    • Setelah API dipublikasikan, pengaturan untuk kelompok sumber daya Studio Layanan Data berlaku untuk semua pemanggilan API.

  • Kelola API: Di halaman Service Development, Anda dapat mengelola API dengan mengkloning atau menghapusnya dari pohon direktori. Di halaman Service Management, Anda dapat memperluas daftar API untuk melihat detail API yang telah dipublikasikan. Untuk informasi lebih lanjut, lihat Lihat, hapus, pindahkan, kloning, lakukan operasi batch pada, dan cari API berdasarkan kode.

Lampiran: Wizard mode ke script mode

Anda dapat mengonversi API dari wizard mode ke script mode:

  1. Di halaman Service Development, perluas Workflow > API yang berisi API target.

  2. Klik ganda nama API untuk membuka halaman editnya.

  3. Di bilah alat, klik ikon 转换脚本.

  4. Di kotak dialog Prompt, klik Determine.

    Peringatan
    • Anda hanya dapat mengonversi API dari wizard mode ke script mode.

    • Tindakan ini tidak dapat dikembalikan.

Lampiran: Contoh Advanced SQL (MyBatis)

Contoh-contoh ini menunjukkan cara membangun kueri kompleks dengan Advanced SQL dalam script mode. Ganti nama tabel, bidang, dan kondisi kueri dengan milik Anda sendiri.

Contoh 1: Mengontrol urutan pengurutan

Nilai var menentukan urutan pengurutan.

select col01,col02
from table_name
<choose>
    <when test='var == 1'>
    order by col01
    </when>
    <when test='var == 2'>
    order by col02
    </when>
    <when test='var == 3'>
    order by col01,col02
    </when>
    <when test='var == 4'>
    order by col02,col01
    </when>
</choose>

Parameter permintaan: var (Jenis: INT, Wajib). Parameter respons: col01, col02.

Contoh 2: Kueri tabel berbeda

Nilai berbeda dari var menentukan tabel mana yang akan dikueri.

select col01
from
<choose>
 <when test='var == 1'>
 table_name01
 </when>
 <when test='var == 2'>
 table_name02
 </when>
</choose>

Contoh 3: Klausa WHERE dinamis

Kondisi kueri dihasilkan secara dinamis berdasarkan apakah koleksi list kosong. Jika list tidak null, kondisi kueri yang mencakup nilai bidang area dihasilkan.

SELECT area_id, area, amount
FROM table_name
<where>
	<if test='list!=null'>
	area in
		<foreach collection="list" open="(" close=")" separator="," item="area">
		#{area}
		</foreach>
	</if>
</where>

Parameter permintaan: list (Jenis: STRING_LIST, Wajib, Contoh: Beijing,Hangzhou). Parameter respons: area_id, area, dan amount.

Lampiran: Praktik terbaik — parameter opsional

Dalam banyak skenario bisnis, beberapa parameter permintaan perlu bersifat opsional. Hal ini memungkinkan pemanggil memutuskan apakah akan memberikan nilai untuk parameter tersebut. Jika tidak ada nilai yang diberikan, parameter tersebut dikecualikan dari kondisi kueri. Bagian ini menggunakan tabel ods_user_info_d sebagai contoh untuk menunjukkan cara mengatur uid sebagai parameter wajib dan gender sebagai parameter opsional.

Parameter

Jenis

Deskripsi

uid

INT

ID Pengguna

gender

STRING

Jenis Kelamin

age_range

STRING

Rentang Usia

zodiac

STRING

Zodiak

Parameter opsional dalam wizard mode

Mengimplementasikan parameter opsional dalam wizard mode sangat mudah. Setelah memilih uid dan gender sebagai parameter permintaan di area Select Parameters, buka panel Request Parameters di sebelah kanan dan kosongkan kotak centang Required untuk parameter gender.

  • Dipilih: Anda harus memberikan nilai untuk parameter saat memanggil API. Jika tidak, akan muncul exception validasi parameter.

  • Dikosongkan: Anda dapat memilih apakah akan memberikan nilai untuk parameter. Jika tidak memberikan nilai, parameter tidak termasuk sebagai kondisi kueri.

Contoh Pemanggilan:

  • Skenario 1: Nilai diberikan untuk uid dan gender. Sistem menjalankan kueri berikut:

    SELECT uid, gender, age_range, zodiac
    FROM ods_user_info_d
    WHERE uid = 0016359810821
    AND gender = 'Female';
  • Skenario 2: Nilai diberikan untuk uid, tetapi tidak ada nilai untuk gender. Sistem menjalankan kueri berikut:

    SELECT uid, gender, age_range, zodiac
    FROM ods_user_info_d
    WHERE uid = 0016359810821;

Parameter opsional dalam script mode

Penting

Basic SQL tidak dapat mengimplementasikan logika parameter opsional sejati. Bahkan jika Anda mengosongkan kotak centang Required, sistem akan menjalankan kueri dengan parameter = null jika parameter dihilangkan. Hal ini biasanya mengembalikan set hasil kosong alih-alih mengabaikan kondisi. Untuk mengimplementasikan parameter opsional, Anda harus menggunakan mode advanced SQL.

Dalam mode advanced SQL, gunakan tag MyBatis <if> untuk mengimplementasikan logika kondisional:

SELECT uid, gender, age_range, zodiac
FROM ods_user_info_d
<where>
    <if test='gender!=null'>
    gender = ${gender}
    </if>
    and uid = ${uid}
</where>
  • Tag <where> secara otomatis menangani kata kunci WHERE dan menghapus awalan AND atau OR yang berlebihan.

  • Tag <if test='gender!=null'> menambahkan kondisi ke kueri hanya jika Anda memberikan nilai non-null untuk parameter gender.

  • Setelah mengonfigurasi pernyataan SQL, tambahkan secara manual parameter uid dan gender di panel Request Parameters di sebelah kanan, dan kosongkan kotak centang Required untuk parameter gender.

Perilakunya sama seperti di wizard mode: kondisi gender diterapkan saat nilai diberikan, dan diabaikan saat dihilangkan.

Konfigurasi parameter opsional

Metode

Implementasi

Kompleksitas

Kasus Penggunaan

wizard mode

Kosongkan kotak centang "Required".

Rendah

Kueri sederhana pada tabel tunggal

script mode (basic SQL)

Tidak didukung

script mode (advanced SQL)

Bungkus kondisi dalam tag <if test='param!=null'>.

Sedang

JOIN multi-tabel dan kueri kompleks