تستخدم معظم عمليات البرمجة الخاصة بنا أطر عمل ORM الممتازة ، مثل MyBatis و Hibernate و SpringJDBC ، ولكن هذه لا يمكن فصلها عن دعم JDBC القائم على البيانات. على الرغم من أنها مريحة للغاية للاستخدام ، إلا أنه من الصعب حقًا مواجهة بعض المشكلات ، مثل المشكلة التي أزعجتني عدم النوم جيدًا طوال الليل. JDBC يولد بيانات التنفيذ. دعونا نلقي نظرة على التفاصيل.
عادةً ما نستخدم إطار عمل MyBatis لتشغيل قواعد البيانات العلائقية ، والطبيعة هي عمليات CRUD. حاليًا ، تستخدم الشركة قاعدة بيانات SQLServer ، لكن لدي مشكلة عندما أقوم بإجراء عملية التحديث. الوضع المحدد هو كما يلي:
محتوى mapper.xml:
<update id = "updatedRiverInfobyucode" parametertype = "com.sypro.earth.driverInfinfo"> update d_driverinfo <set> <if test = "drivername! = null"> drivername = #{drivername ، jdbctype = nvarchar} ، </if> </set> <Neher> ucode = #{ucode ، javatype = string ، jdbctype = varchar ، typehandler = com.sypro.earth.typehandler.exampletypehandler} رمز الاختبار كما يلي:
testpublic void test8 () {driverInfo driverInfo = new driverInfo () ؛ driverInfo.setDriverName ("Wang Xiaoer") ؛ driverInfo.setucode ("Ty888888") ؛ driverInfomymapper.updatedRiverIverInfobyucode (driverInfo) ؛} أقوم فقط بتحديث اسم برنامج التشغيل وفقًا لرقم العمل ، لكن عبارات SQL التي تم اكتشافها باستخدام SQL Server لمراقبتها تقريبًا على النحو التالي:
(@p0 nvarchar (4000) ،@p1 nvarchar (4000)) تحديث d_driverInfoSet drivername =@p0 ، حيث ucode =@p1
بالطبع ، أريد نشر سلسلة اتصال قاعدة البيانات الخاصة بي هنا:
jdbc/: sqlserver/: //127.0.0.1 ؛ databasename/= new ؛
يمكنك التحقق من خطة التنفيذ في هذا الوقت:
//www.vevb.com/article/90264.htm
يمكن ملاحظة أنه بطيء للغاية ، ولكن عن طريق تعديل سلسلة الاتصال قليلاً:
jdbc/: sqlserver/: //127.0.0.1 ؛ databasename/= new ؛ sendstringparametersasunicode = false
ثم قم بتنفيذ رمز الاختبار ويمكنك رؤيته
(@p varchar (8000) ،@p1 varchar (8000)) تحديث d_driverInfoSet drivername =@p0 ، حيث uCode =@p1
تم تحسين سرعة تنفيذ تحديثات الدُفعات بشكل كبير. بالنسبة إلى سبب التغييرات وإيجابيات وسلبيات التغييرات ، يرجى الرجوع إلى وثيقة الموقع الرسمي أدناه.
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
ما سبق هو مشكلة عبارة التنفيذ التي تم إنشاؤها بواسطة MyBatis من خلال برنامج تشغيل بيانات JDBC الذي قدمه لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!