Menggunakan jOOQ untuk pemprosesan pangkalan data dalam pembangunan API Java
Dalam pembangunan aplikasi Java, operasi pangkalan data adalah tugas yang kerap berlaku. Java menyediakan banyak API untuk mengurus sambungan pangkalan data dan melaksanakan pertanyaan SQL, seperti Java Database Connectivity (JDBC), Hibernate, MyBatis, dsb. Walau bagaimanapun, API ini biasanya memerlukan kami menulis pernyataan pertanyaan SQL secara manual, yang menghasilkan sejumlah besar kod dan terdedah kepada ralat. jOOQ (Java Object Oriented Querying) ialah penjana pertanyaan SQL berorientasikan objek dengan taip kuat yang tujuan utamanya adalah untuk memudahkan penulisan pertanyaan SQL sambil mengekalkan keselamatan jenis. Artikel ini akan memperkenalkan cara menggunakan jOOQ dan menunjukkan cara mengintegrasikan jOOQ ke dalam aplikasi Java untuk memudahkan operasi pangkalan data.
- Pengenalan kepada jOOQ
jOOQ ialah perpustakaan sumber terbuka berasaskan Java yang mempunyai ciri-ciri berikut:
- Berorientasikan objek: jOOQ menukar pertanyaan SQL kepada Penyataan ditukar kepada kod Java selamat jenis supaya kita boleh menggunakan pendekatan berorientasikan objek untuk akses data. Apabila menggunakan jOOQ, kita tidak perlu menulis pernyataan pertanyaan SQL, tetapi menggunakan kod Java yang dijana untuk membuat pertanyaan.
- Ringkaskan pernyataan SQL: jOOQ menukarkan pernyataan pertanyaan SQL kepada kod Java melalui API jenis selamat, yang memastikan ketepatan kod. Pada masa yang sama, jOOQ juga menyokong penjanaan pernyataan SQL, dan pernyataan SQL yang dihasilkan boleh dijalankan terus dalam pangkalan data, yang menjadikan penyahpepijatan pernyataan SQL lebih mudah.
- Menyokong berbilang pangkalan data: jOOQ menyokong berbilang pangkalan data, termasuk Oracle, MySQL, PostgreSQL, SQL Server, dsb.
- Penggunaan jOOQ
Seterusnya kami akan memperkenalkan cara menggunakan jOOQ.
2.1 Tambah kebergantungan
Mula-mula, kita perlu menambah kebergantungan jOOQ dalam fail pom.xml. Berikut ialah contoh:
<dependency> <groupId>org.jooq</groupId> <artifactId>jooq</artifactId> <version>3.14.9</version> </dependency> <dependency> <groupId>org.jooq</groupId> <artifactId>jooq-meta</artifactId> <version>3.14.9</version> </dependency> <dependency> <groupId>org.jooq</groupId> <artifactId>jooq-codegen</artifactId> <version>3.14.9</version> </dependency>
2.2 Menjana Kod
Untuk menggunakan jOOQ, kita perlu terlebih dahulu menjana beberapa kod yang akan bertanggungjawab untuk berinteraksi dengan pangkalan data. jOOQ menyediakan alat yang dipanggil jOOQ Codegen, yang boleh menjana kod secara automatik, termasuk objek Java untuk jadual pangkalan data dan kelas alat untuk pertanyaan. Kita perlu menggunakan alat jOOQ Codegen untuk menjana kod.
Pertama, kita perlu menulis fail konfigurasi bernama jooq-config.xml, yang terletak dalam direktori akar projek. Berikut ialah contoh:
<configuration> <jdbc> <driver>com.mysql.cj.jdbc.Driver</driver> <url>jdbc:mysql://localhost:3306/mydatabase</url> <user>myuser</user> <password>mypassword</password> </jdbc> <generator> <name>org.jooq.codegen.JavaGenerator</name> <database> <name>org.jooq.meta.mysql.MySQLDatabase</name> <includes>.*</includes> <excludes></excludes> <inputSchema>public</inputSchema> </database> <generate> <pojos>true</pojos> <daos>true</daos> </generate> <target> <packageName>com.example.generated</packageName> <directory>src/main/java</directory> </target> </generator> </configuration>
Dalam fail konfigurasi di atas, kita perlu menentukan maklumat sambungan pangkalan data, dan juga perlu menentukan nama pakej sasaran dan direktori untuk penjanaan kod.
Seterusnya, kita perlu menjalankan alat jOOQ Codegen melalui pemalam Maven. Tambahkan perisytiharan pemalam berikut dalam pom.xml:
<plugins> <plugin> <groupId>org.jooq</groupId> <artifactId>jooq-codegen-maven</artifactId> <version>3.14.9</version> <executions> <execution> <id>generate-jooq-sources</id> <phase>generate-sources</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <jdbc> <driver>com.mysql.cj.jdbc.Driver</driver> <url>jdbc:mysql://localhost:3306/mydatabase</url> <user>myuser</user> <password>mypassword</password> </jdbc> <generator> <database> <name>org.jooq.meta.mysql.MySQLDatabase</name> <includes>.*</includes> <excludes></excludes> <inputSchema>public</inputSchema> </database> <generate> <pojos>true</pojos> <daos>true</daos> </generate> <target> <packageName>com.example.generated</packageName> <directory>src/main/java</directory> </target> </generator> </configuration> </plugin> </plugins>
Perisytiharan pemalam di atas boleh didapati dalam pemalam jOOQ Codegen dalam pengurus pemalam Maven dan menentukan nama pakej sasaran yang dijana dan direktori. Jalankan projek Maven untuk menjana kod.
2.3 Gunakan jOOQ untuk mengakses pangkalan data
Terdapat dua cara utama untuk menggunakan jOOQ untuk mengakses pangkalan data: menggunakan DSL dan menggunakan pertanyaan SQL asli.
Berikut ialah contoh penggunaan jOOQ untuk membuat pertanyaan:
Result<Record> result = create.select().from(TABLE).where(ID.eq(1)).fetch();
Dalam contoh di atas, create mewakili objek pertanyaan pangkalan data, TABLE dan ID dijana secara automatik kelas Java, dan kita boleh menggunakan di mana kaedah untuk menentukan syarat pertanyaan, dan gunakan kaedah ambil untuk melaksanakan pertanyaan. Hasil pelaksanaan akan mengembalikan objek set hasil enkapsulasi jOOQ.
2.4 Menggunakan DSL jOOQ
jOOQ menyokong sintaks yang dipanggil DSL (Bahasa khusus Domain), yang boleh menjana pernyataan pertanyaan SQL dengan cepat. Sintaks DSL ditakrifkan terutamanya oleh jOOQ, jadi saya tidak akan memperkenalkannya satu per satu di sini. Berikut ialah contoh mudah:
create.select().from(TABLE).where(ID.eq(1)).fetch();
Kod di atas menjana pernyataan pertanyaan PILIH untuk menanyakan rekod dalam jadual JADUAL yang medan IDnya bersamaan dengan 1.
2.5 pertanyaan SQL asli menggunakan jOOQ
jOOQ juga menyokong pertanyaan SQL asli. Berikut ialah contoh:
String sql = "SELECT * FROM table WHERE id = ?"; Result<Record> result = create.fetch(sql, 1);
Kita boleh menggunakan kaedah ambil untuk melaksanakan pertanyaan SQL asli dan mengembalikan objek set hasil yang dibalut jOOQ.
- Ringkasan
Artikel ini memperkenalkan cara menggunakan jOOQ, termasuk menjana kod dan kaedah pertanyaan asas. jOOQ boleh memudahkan penulisan pernyataan pertanyaan SQL sambil memastikan ketepatan dan keselamatan jenis pernyataan pertanyaan. jOOQ juga menyediakan sintaks DSL untuk menjana pernyataan pertanyaan SQL dengan cepat, dan juga menyokong penggunaan pertanyaan SQL asli. Gunakan jOOQ untuk memudahkan operasi pangkalan data dalam aplikasi Java.
Atas ialah kandungan terperinci Menggunakan jOOQ untuk pemprosesan pangkalan data dalam pembangunan API Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.