Baru -baru ini, seorang teman bertanya kepada saya apakah Mybatis memiliki fungsi secara otomatis membuat struktur tabel, karena mereka telah digunakan untuk menggunakan hibernate sebelumnya. Secara alami, mereka percaya bahwa dengan mengonfigurasi file taruhan atau penulisan pemetaan di kelas entitas, tabel dapat secara otomatis dibuat setelah sistem dimulai.
Saya hanya bisa memberi tahu dia dengan menyesal bahwa mybatis tidak memiliki fungsi ini. Melihat ketidakpeduliannya, saya hanya bisa menghiburnya bahwa meskipun tidak ada fungsi seperti itu, kita dapat mengembangkannya sendiri ~~
Jadi ada sistem berikut, yang telah dibuka dan Anda bisa turun dan melihat ~~
Mybatis_buildtable_v0.2
https://git.oschina.net/sunchenbin/mybatis_buildtable_v0.2.git
Arsitektur proyek menggunakan SpringMVC+MyBatis+Maven. Fitur ini adalah membuat tabel dan memodifikasi struktur tabel dengan mengonfigurasi anotasi model. Saat ini, hanya MySQL yang didukung. Karena fokusnya adalah untuk menyoroti fungsi pembuatan tabel otomatis Mybatis, jadi tidak perlu terlalu banyak memikirkan kerangka kerja.
Spesifikasi Penggunaan:
Kode inti ada dalam model-store-repo
1. Objek Sysmysqlcolumns.java dikonfigurasi dengan tipe data MySQL. Semakin banyak jenis yang dikonfigurasi di sini, semakin banyak jenis yang dapat Anda gunakan saat membuat tabel.
2.LengthCount.java adalah anotasi khusus yang digunakan untuk menandai tipe data yang dikonfigurasi di sysmysqlcolumns.java. Untuk menandai tipe ini membutuhkan beberapa panjang, seperti datetime/varchar (1)/desimal (5,2), masing -masing, 0, 1, 2, masing -masing.
3.Column.java juga merupakan anotasi khusus, yang digunakan untuk menandai bidang dalam model. Sebagai dasar untuk membuat tabel, jika tidak ditandai, itu tidak akan dipindai. Ada beberapa atribut yang digunakan untuk mengatur pengaturan properti seperti nama bidang, jenis bidang, panjang, dll. Untuk detailnya, silakan merujuk ke komentar pada kode.
4.table.java juga merupakan anotasi khusus, digunakan untuk menandai objek model, dan memiliki nama atribut, yang digunakan untuk mengatur nama tabel setelah model menghasilkan tabel. Jika anotasi tidak ditetapkan, model tidak akan dipindai.
OK, setelah sistem dimulai, secara otomatis akan memanggil metode createMysqltable () dari sysmysqlCreateTableManagerImpl.java. Itu benar, ini adalah metode inti, yang bertanggung jawab untuk membuat, menghapus, dan memodifikasi tabel.
Model-store-frontend/sumber daya/config/autocreateTable.properties
Anda akan menemukan bahwa ada file konfigurasi seperti itu, yang memiliki dua konfigurasi
1.mybatis.table.auto = pembaruan
2.mybatis.model.pack = com.sunchenbin.store.model
Sistem ini menyediakan dua mode:
1. Ketika mybatis.table.auto = buat, setelah sistem dimulai, semua tabel akan dihapus, dan kemudian tabel akan dibangun kembali sesuai dengan struktur yang dikonfigurasi dalam model. Operasi ini akan menghancurkan data asli.
2. Ketika mybatis.table.auto = perbarui, sistem akan secara otomatis menentukan tabel mana yang baru dibuat, bidang mana yang perlu dimodifikasi dalam jenis, bidang mana yang perlu dihapus, dan bidang mana yang perlu ditambahkan. Operasi ini tidak akan menghancurkan data asli.
3.mybatis.model.pack Konfigurasi ini digunakan untuk mengonfigurasi nama paket objek yang akan dipindai untuk membuat tabel.
Sistem dikonfigurasi untuk mulai menggunakan Maven. Web tergantung pada repo, frontend dan seluler bergantung pada web. Oleh karena itu, untuk menjalankan frontend dan seluler, Anda harus terlebih dahulu menginstal web dan repo
Adapun bagaimana memulai proyek dengan Maven ... Saya tidak akan mengatakan lebih banyak.
Di atas adalah deskripsi lengkap dari pembuatan tabel otomatis mybatis dan struktur tabel yang diperbarui yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!