spesifikasi ORM


1. [Mandatori] Dalam pertanyaan jadual, jangan gunakan * sebagai senarai medan pertanyaan yang perlu dinyatakan dengan jelas.

Arahan: 1) Tingkatkan kos penghuraian penganalisis pertanyaan. 2) Menambah atau menolak medan berkemungkinan tidak konsisten dengan konfigurasi resultMap.


2 [Mandatori] Atribut boolean kelas POJO tidak boleh ditambah dengan ialah, dan medan pangkalan data mesti ditambah dengan ialah _ Ia diperlukan untuk melakukan pemetaan antara medan dan atribut dalam resultMap.

Nota: Lihat definisi kelas POJO dan definisi medan pangkalan data Ia adalah perlu untuk menambah pemetaan dalam sql.xml.


3 [Mandatori] Jangan gunakan resultClass sebagai parameter pulangan Walaupun semua nama atribut kelas sepadan dengan medan pangkalan data satu-satu, mereka masih perlu ditakrifkan sebaliknya, setiap jadual mesti mempunyai satu yang sepadan kepadanya.

Arahan:

Konfigurasikan hubungan pemetaan untuk memisahkan medan dari kelas DO untuk penyelenggaraan yang mudah.


4 [Mandatori] Sila beri perhatian kepada penggunaan parameter dalam konfigurasi xml: #{}, # param # Jangan gunakan ${}.


5 [Wajib] QueryForList(String statementName, int start, int size) yang disertakan dengan iBATIS tidak disyorkan.

Penjelasan: Kaedah pelaksanaan adalah untuk mendapatkan semua rekod pernyataan SQL yang sepadan dengan statementName dalam pangkalan data, dan kemudian mendapatkan subset permulaan dan saiz melalui subList

OOM telah muncul dalam talian kerana sebab ini. .

7 [Mandatori] Semasa mengemas kini rekod jadual data, anda juga mesti mengemas kini nilai medan gmt_modified yang sepadan dengan masa semasa.

8 [Cadangan] Jangan tulis antara muka kemas kini data yang besar dan komprehensif sebagai kelas POJO Tidak kira sama ada segmen kemas kini sasaran anda sendiri, set jadual kemas kini c1=value1,c2=value2. ,c3=value3; Ini salah. Apabila melaksanakan SQL


, cuba jangan mengemas kini medan yang tidak diubah suai Pertama, ia terdedah kepada ralat kedua, ia tidak cekap, binlog meningkatkan storan.


9 [Rujukan] @ Transaksional Jangan menyalahgunakan transaksi. Urus niaga akan menjejaskan QPS pangkalan data Selain itu, apabila urus niaga digunakan, pelbagai penyelesaian rollback mesti dipertimbangkan, termasuk rollback cache, rollback enjin carian, pampasan mesej, pembetulan statistik, dll.


10. [Rujukan] compareValue dalam < isEqual > bukan null. < isNotNull >