Rumah > Soal Jawab > teks badan
Saya sering menggunakan List<Map<String,Object>> sebagai objek penerima pertanyaan dalam projek Rasanya mudah untuk digunakan dan tidak perlu membuat kelas DTO untuk setiap pertanyaan berbilang jadual.
.
Di atas hanya untuk pertanyaan Jika peta digunakan pada DTO, adakah VO akan mengalami masalah yang sama?
高洛峰2017-05-27 17:43:05
1 Sukar untuk dikekalkan apabila bilangan parameter peta adalah besar. Untuk mengenal pasti kunci dalam bentuk rentetan, mungkin terdapat ralat di mana huruf tidak ditambahkan pada program
2. Tukar peta kepada entiti, yang menggunakan sumber. Atau bukannya menukar entiti, teruskan peta ke lapisan SQL, tetapi anda perlu menilai nilai nol (sama ada untuk lulus parameter ini... Apabila bilangan parameter terlalu besar, banyak pertimbangan diperlukan (Kecekapan SQL berkurangan, dan ia tidak mudah untuk dikekalkan)
3 Ia mengambil masa lebih lama untuk mencipta peta dan kemudian memasukkan nilai parameter daripada mencipta kelas entiti (perbezaan dalam masa penciptaan adalah sangat kecil apabila bilangan peta kecil, tetapi perbezaannya akan menjadi sangat besar apabila bilangannya besar)
4. Kawalan jenis parameter. Parameter yang bukan jenis rentetan dalam SQL mesti ditukar kepada nilai berangka. . . Ralat berlaku ke dalam sql dan mudah di CC
5 Hadapi objek, pisahkan lapisan SQL daripada entiti, dan kurangkan gandingan. Jika tidak, penyelenggaraan akan menyusahkan
ringa_lee2017-05-27 17:43:05
Saya rasa ada dua aspek:
1. Pemikiran berorientasikan objek
2 Kecekapan, lagipun, adalah mudah untuk membuat kesilapan apabila bermain dengan pertanyaan [kecekapan di sini merujuk kepada map.get(key)], map.put dan. kemudian dapatkan
某草草2017-05-27 17:43:05
Tidak kondusif untuk pembangunan bersama dan kemudian penyelenggaraan oleh orang lain
过去多啦不再A梦2017-05-27 17:43:05
Peta menggunakan parameter pertanyaan Pemanggil kaedah tidak mengetahui pasangan nilai kunci dan jenis pasangan nilai kunci yang boleh disimpan dalam parameter kaedah yang disediakan oleh pembekal kaedah Masalah penghantaran rawak map.put (kunci, nilai ) tidak boleh ditemui pada peringkat penyusunan Gunakan QueryDto boleh menentukan jenis dan sekatan parameter dengan tepat (Pengesahan JSR 303)
.仅有的幸福2017-05-27 17:43:05
Jika saya faham betul.
Objek pertanyaan data merujuk kepada pengenkapsulan parameter kaedah pertanyaan dao, dan tidak merujuk kepada pengembalian kaedah ini ialah kod itu boleh dibacalebih tinggi. tetapi pertanyaan anda tidak menyokongnya sama sekali, tetapi Bagaimana anda memberitahu pengguna dengan pasti?map
作为接口参数, 使用者想要确定具体的查询条件非常困难, 而且给外部接口调用的灵活性太高, 比如 使用者在map
中增加一个x
mengikut keperluan dokumen.
黄舟2017-05-27 17:43:05
Rasanya ia disebabkan terutamanya oleh kesukaran menyahpepijat dan penyelenggaraan Contohnya, sebarang salah ejaan kunci tidak boleh dilaporkan semula sehingga pertanyaan dilaksanakan
黄舟2017-05-27 17:43:05
Kelebihan peta:
1、灵活性强于javabean,易扩展,耦合度低。
2、写起来简单,代码量少。
Sila lihat kelebihan Javabeans:
1、面向对象的良好诠释、
2、数据结构清晰,便于团队开发 & 后期维护。
3、代码足够健壮,可以排除掉编译期错误。
Timbang kebaikan dan keburukan, jika pembangunan pasukan atau JavaBeans lebih baik, projek peribadi tidak penting.
Tambahan dialu-alukan! ~