Artikel saka seri babagan nggawe proyek Jawa (pranala menyang materi liyane ana ing pungkasan). Tujuane kanggo nganalisa teknologi kunci, asile nulis bot telegram. Ing bagean iki, kita nyoba mbukak SpringBoot lan Flyway. Jumlah minimal teori, kaya sing disenengi))) Kita ngilangi perbandingan pungkasan Flyway / Liquibase kanggo wektu sing ora ditemtokake lan tekan titik. Lan sanadyan mangkono iku wis nyeret ing. Supaya ora njlèntrèhaké Flyway kaping pindho, aku mutusaké kanggo langsung nambah menyang project JRTB mangsa.
multi-faceted, multi-modular:
Apa sing kudu kita lakoni minangka bagéan saka iki?
- Bukak aplikasi SpringBoot adhedhasar Maven.
- Tambah Flyway ana: untunge, padha gampang Integrasi.
- Tambah skema kanggo tabel sing ana ing conto database.
Apa iku flyway
Kanggo nggunakake soko, sampeyan kudu ngerti apa iku lan ngapa. Flyway minangka alat kontrol versi database. Tembung-tembung kasebut wis kondhang, nanging piye wae pemahamane durung ditambah, ta? Ayo dadi nyoba kanggo njlèntrèhaké masalah sing flyway solves. Ayo kita duwe proyek. Kaya kabeh ing jagad iki, ora sampurna, mula ora bisa ngrancang lan nggambar versi pungkasan proyek kasebut. Saben-saben muncul nuansa sing ora dingerteni. Proyek kasebut nggunakake basis data ing karyane. Mesthi, yen proyek diganti, struktur database uga bisa diganti. Ayo kita nambah lapangan anyar kanggo salah sawijining entitas ing proyek kita. Carane nindakake?- Tambah kolom iki menyang entitas kita, nganyari kabeh supaya logika bisnis bisa digunakake.
- Nganyari database. Cara mung bisa ditindakake kanthi manual. Kanggo nindakake iki, sampeyan kudu mlebu lan ndhaptar skrip sql sing dibutuhake.
- Nanging yen kita duwe luwih saka siji panggonan kanggo nyebarake proyek kita, apa iki kudu ditindakake ing saben wong?
- lan yen kita arep bali, carane kita ngerti persis apa negara struktur database saiki?
- Kepiye carane bisa yakin yen pangowahan database sukses?
- Kepiye carane bisa entuk kesempatan kanggo nglacak kabeh owah-owahan database sing kedadeyan ing proyek kasebut?
Bukak SpringBoot + Flyway
Apa Spring Boot
Apa sing diluncurake?... Kanggo ngerti apa lan apa sing ditindakake, sampeyan kudu mutusake apa SpringBoot. Pisanan, ayo cepet (uga, cepet banget) ngomong babagan Spring . Saiki, iki minangka standar industri de facto kanggo ngembangake aplikasi server ing Jawa. Standar apa? Kepiye carane aku bisa nerangake babagan iki? Spring minangka kerangka aplikasi, sing banjur dibuwang "daging" - logika bisnis kita. Kanthi bantuan saka Spring (sabanjuré aku bakal nggunakake kertas tracing iki supaya ora mbuwang wektu ngoper basa :D)) Spring menehi kita wiwitan saka kang kita miwiti kanggo nindakake kabeh. Iku- Apa sampeyan pengin nggarap database? Apa sampeyan pengin relasional? Apa sampeyan pengin non-relasional? Kene kita karo Spring Data.
- Apa sampeyan pengin nggarap panjalukan http? Iki, Spring web (Spring MVC).
- Apa sampeyan butuh wadhah kanggo kabeh obyek ing sak panggonan? Punika Spring Core.
- Apa sampeyan kudu nyiyapake keamanan ing proyek supaya ana peran lan rantai komando sing beda? Keamanan Spring.
- Mung nalika sampeyan panginten iku bakal dadi apik kanggo duwe kuwi, pranyata Spring wis apa sing perlu, lan nggabungake cepet lan gampang.
Bukak SpringBoot
Amarga kita wis ngerti apa Maven, ayo nggawe proyek anyar kanggo kabutuhan. Kanggo nindakake iki, sampeyan mung kudu pindhah menyang situs web sing digawe khusus kanggo masalah iki. Iki diarani Spring Initializr . Ing kene sampeyan kudu ngisi lan milih sing dibutuhake:- Alat mbangun proyek yaiku gradle utawa maven. Kaya sing sampeyan ngerteni, Semut ora disebutake maneh. Iki minangka pitunjuk sing apik babagan alat mbangun sing cocog karo wektu sampeyan.
- Basa sing bisa ditulis yaiku jawa, kotlin, groovy. Kabeh iku prasaja: kabeh padha JVM-kaya lan gampang mbukak kode Jawa. Miturut cara, iku worth looking ing Kotlin. Groovy wis terus terang dadi ora menarik (ana wektu nalika padha ngalih menyang grooves, nanging cepet liwati).
- Versi Spring ... Ing kene sampeyan kudu ngerti manawa versi bagean utama Spring lan module konsisten.
- Data proyek. Aku wis nerangake bab-bab iki.
- Kita milih arsip sing bakal diklumpukake - Jar utawa Perang.
- Inggih, versi Jawa favorit kita. Lan bubar ana akeh versi iki ... Dheweke ngenteni pirang-pirang taun, lan saiki ana rong taun.
- Maven - ora ana gunane yen kita ngomong karo sampeyan sadurunge.
- Jawa iku tresnane :D
- Ayo njupuk versi 2.2.11. Apa ora sing paling anyar? Amarga luwih anyar, luwih gedhe kemungkinan ana sawetara kewan omo. Kanggo kita, ora masalah versi apa, nanging sing luwih lawas bakal luwih dipercaya. Mulane, kita milih 2.2.11.
- Grup: com.github.javarushcommunity
- Artefak: springboot-flyway-demo
- Jeneng: SpringBoot + Flyway Demo
- Description: Project nduduhake integrasi antarane SpringBoot lan Flyway . (Ya, kemampuan kanggo nulis dokumentasi minangka bagean penting saka pangembangan :))
- Jeneng paket: com.github.javarushcommunity.springbootflywaydemo . Ing kene dheweke bakal langsung nggawe paket dhasar kanggo kita kanthi kelas sing bakal miwiti aplikasi kita.
- Kemasan: Jar
- Jawa : 8. Aja ndhisiki lokomotif lan njupuk sing lawas wolu. Kenapa ora 11? Kanggo apa? Kanggo conto kita, aku ora weruh titik.
spring.datasource.url=jdbc:mysql://localhost:3306/flyway_demo_db
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
We mbukak cara utama maneh lan njaluk: Saiki kita kudu nambah paling siji migrasi. Kanggo nggawe migrasi kanthi bener, sampeyan kudu njupuk cithakan ing ngisor iki: V<VERSION>__<NAME>.sql Nggunakake cithakan iki, kita bakal nggawe file migrasi sing jenenge V00001__Create_country_table.sql ing folder sing cocog: /src/main/resources/ db.migration/ . Ayo nggawe tabel negara ing kono. Ayo njupuk script saka artikel kapindho bab database . Sadurunge miwiti, ayo mlebu lan nggawe database kanggo karya: flyway_demo_db. Ayo nindakake iki liwat MysqlWorkbench: Saiki kita bisa mbukak cara utama maneh: Kabeh wis rampung, nanging amarga kita ora duwe apa-apa ing proyek kasebut, mula rampung. Nanging, jelas saka log ( waca apa log kasebut):
- Kasil disambungake menyang database.
- Migrasi wis divalidasi lan kabeh ok.
- Flyway wis nggawe tabel kanggo ngatur migrasi.
- Lan apa migrasi 00001 diwiwiti - nggawe negara kasebut sukses.
Kesimpulan
Wektu iki kita sinau carane ngerti lan nggunakake alat migrasi database bebarengan karo SpringBoot. Informasi iki perlu kanggo mangerteni apa alat kontrol versi database, nggunakake Flyway minangka conto. Kanca-kanca, kode sumber proyek sing aku nuduhake diterbitake ing organisasi kita ing Github . Yen sampeyan seneng conto, menehi lintang , lan aku bakal ngerti yen karyaku migunani lan pancene worth terus. Cara tradisional, aku saranake langganan akun Github . Liwat dheweke, aku nindakake kabeh karya ing open source lan kabeh proyek demo sing tansah ngiringi artikelku. Matur nuwun kanggo kabeh sing wis maca. Sabanjure kita bakal nulis aplikasi kita. Bakal ana sawetara teori sing dibutuhake ing Docker ing mangsa ngarep, nanging kita bakal ngencerake kanthi praktik.pranala migunani
Saiki ora ana akeh pranala sing migunani. Pay manungsa waé menyang video Evgeniy, iku pancene worth iku!- Situs web kanggo nggawe proyek ing Spring
- Evgeniy Borisov - Spring builder
- Dokumentasi ing Spring kanggo Flyway
GO TO FULL VERSION