Sebagian besar proses pemrograman kami menggunakan kerangka kerja ORM yang sangat baik, seperti Mybatis, Hibernate, SpringJDBC, tetapi ini tidak dapat dipisahkan dari dukungan JDBC yang didorong oleh data. Meskipun sangat nyaman untuk digunakan, sangat sulit untuk menghadapi beberapa masalah, seperti masalah yang mengganggu saya tidak tidur nyenyak sepanjang malam. JDBC menghasilkan data eksekusi. Mari kita lihat detailnya.
Biasanya kami menggunakan kerangka kerja MyBatis untuk mengoperasikan basis data relasional, dan yang dasar adalah operasi CRUD. Saat ini, perusahaan menggunakan database SQLServer, tetapi saya punya masalah ketika saya melakukan operasi pembaruan. Situasi spesifiknya adalah sebagai berikut:
Konten mapper.xml:
<update id = "updateRerRiverInfobyucode" parameTerType = "com.sypro.earth.model.driverInfo"> Perbarui d_driverInfo <set> <if test = "drivername! = null"> drivername = #{driverName, jdbctype = nvarchar}, </if> </set> <where> ucode = #{uCode, javatype = string, jdbctype = varchar, typeHandler = com.sypro.earth.typehandler.exampletypehandler} </where> Kode tes adalah sebagai berikut:
@Testpublic void test8 () {driverInfo driverInfo = new driverInfo (); driverInfo.setDriverName ("wang xiaoer"); driverInfo.setucode ("ty888888"); driverInfomymapper.updatedRiverInfobyucode (driverinfoMer (driverInfoCode (driverinfo) (driverinfomymapper. Saya hanya memperbarui nama pengemudi sesuai dengan nomor kerja, tetapi pernyataan SQL yang terdeteksi menggunakan SQL Server untuk memantau kira -kira sebagai berikut:
(@P0 nvarchar (4000),@p1 nvarchar (4000)) Perbarui d_driverInfoset drivername =@p0, di mana ucode =@p1
Tentu saja, saya ingin memposting string koneksi basis data saya di sini:
JDBC/: SQLServer/: //127.0.0.1; DataBasEname/= baru;
Anda dapat memeriksa rencana eksekusi saat ini:
//www.vevb.com/article/90264.htm
Dapat dilihat bahwa itu sangat lambat, tetapi dengan memodifikasi sedikit string koneksi:
JDBC/: SQLServer/: //127.0.0.1; DataBasEname/= baru; SendStringParametersAsunicode = false
Kemudian jalankan kode uji dan Anda dapat melihat
(@P0 varchar (8000),@p1 varchar (8000)) Perbarui d_driverInfoset driverName =@p0, di mana uCode =@p1
Kecepatan eksekusi pembaruan batch telah ditingkatkan secara signifikan. Adapun mengapa perubahan dan pro dan kontra perubahan, silakan merujuk ke dokumen situs web resmi di bawah ini.
https://technet.microsoft.com/zh-cn/library/ms378857%28sql.90%29.aspx
https://technet.microsoft.com/zh-cn/library/ms378988%28v=sql.90%29.aspx
http://d.hatena.ne.jp/gnarl/20110706/1309945379
Di atas adalah masalah pernyataan eksekusi yang dihasilkan oleh mybatis melalui driver data JDBC 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!