يقدم:
MyBatis-Plus (MP for Short) هي أداة تحسين MyBatis. استنادًا إلى MyBatis ، فإنه يعزز فقط ولا يتغير ، ويولد لتبسيط التنمية وتحسين الكفاءة. (مقتطفات من موقع MyBatis-Plus الرسمي) على الرغم من أن MyBatis قد زودنا بالراحة الكبيرة ، إلا أنه لا يزال لديه عيوب. وجود النائب هو التعويض قليلاً عن أوجه القصور في MyBatis. عندما نستخدم MyBatis ، سنجد أنه كلما أردنا كتابة منطق عمل ، يتعين علينا كتابة طريقة في طبقة DAO ، ثم نتوافق مع SQL. حتى لو استفسرنا ببساطة عن حالة ، يتعين علينا إضافة طريقة جديدة في طبقة DAO. استجابة لهذه المشكلة ، MP هو إطار يجمع بين مزايا MyBatis و Hibernate. إنه يوفر راحة عملية الخثارة المفردة من Hibernate مع الاحتفاظ بميزات MyBatis.
هذا الفصل يعلمك فقط كيفية استخدام MyBatisPlus. إذا كنت تريد أن تفهم متعمقًا كيف يتم تنفيذ الطبقة الأساسية ، فيمكنك تنزيل الرمز المصدر لتفسيره على الموقع الرسمي.
1. إنشاء مشروع
لن أذهب خطوة بخطوة هنا. سأعطي مباشرة هيكل المشروع الذي تم إنشاؤه. في نهاية هذا الفصل ، سأقدم عنوان الرمز المصدر الذي يجب العثور عليه.
2. إدخال التبعيات
<؟ XSI: Schemalocation = "http://maven.apache.org/pom/4.0.0 <StifactId> Springboot_mybatisplus </shintifactid> <sored> 0.0.1-snapshot </version> <packaging> جرة </packaging> <name> springboot_mybatiSplus </same> <scription> مشروع تجريبي لـ Spring Boot </description> <StifactId> Spring-Boot-Starter-Parent </stifactid> <soper> 2.0.0.release </version> <RelativePath/> </paret> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reporting.outputencoding> utf-8 </project.reporting.outputencoding> <java.version> 1.8 </java.version> </properties> <ependencies> <reperency> <roupend> org.springframework.boot </groupid> </reperency> <reperency> <roupiD> org.springframework.boot </rougiD> <Stifactid> Spring-Boot-Starter-Web </shintifactid> </reperence> <redency> <roupiD> org.mybatis.spring.boot </grouped> <sophy> 1.3.2 </version> </sependency> <redency> <roupiD> mysql </rougiD> <StifactId> mysql-connector-java </stifactid> <scope> وقت التشغيل </scope> </dependency> <sperence> <roupled> org.springframework.boot <StifactId> Spring-boot-starter-test </artifactid> <scope> اختبار </scope> </reperence> <!-أضف تبعيات JSP-> <reperency> <roupiD> org.springframework.boot </rougiD> <roupled> org.apache.tomcat.embed </rougiD> <StifactId> tomcat-embed-jasper </shintifactid> </premited> <!-springboot-mybatis regining-> <sperence> <sophy> 1.3.2 </version> </sependency> <!-MyBatis General Mapper-> <reperency> <roupiD> tk.mybatis </rougeid> <StifactId> mapper-spring-boot-starter </sultn> <splice> 1.1.4 </version> </rependencies> <roupl> org.springframework.boot </groupId> <StifactId> Spring-boot-maven-plugin </shintifactid> </sultiin> <clupin> <roupiD> org.mybatis.generator </groupid> <IctuctionFile> src/main/resources/generatorconfig.xml </iscificeFile> <Ebbose> true </verbose> <sprowrite> true </soptwrite> </configuration> <evelopmentions> </eversion> <ependencies> <redence> <roupiD> org.mybatis.generator </groupId> <StifactId> mybatis-generator-core </shintifactid> <sored> 1.3.2 </version> </arefactid> </reperency> </premency> </repreadencies> </spliexin> </plugins> </build> </project>
3. تحرير التطبيق
الخادم: المنفذ: 8080spring: MVC: عرض: بادئة:/web-inf/jsp/fafetix: .jsp dataSource: url: jdbc: mysql: // localhost: 3306/test؟ characterencoding = utf-8 & useUnicod com.mysql.jdbc.drivermybatis: mapper-locations: classpath: mapper/*.
4. جيل عكسي من Pojo ، Mapper
إنشاء generatorConfig.xml
<؟ <Properties Resource = "Application.yml"/> <classpathentry location = "d: /mysql/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar"/> <context id = "mysql" targetruntime = name = "startDelimiter" value = "` "/> <property name =" endDelimiter "value =" `"/> <property name = "javafileencoding" value = "utf-8"/> <plugin type = "tk.mybatis.mapper.generator.mapperPlugin" value = "tk.mybatis.mapper.common.mapper"/> </plugin> <!-التعليق-> <commentGenerator> <!-سواء كان ذلك لإنشاء تعليقات للطابع الزمني-> <property name = "cumpressdate" value = "true"/> <! </sopmengenerator> <!-اتصال jdbc-> <jdbcconnection driverClass = "com.mysql.jdbc.driver" connectionUrl = "jdbc: mysql: // localhost: 3306/test؟ directionding = utf-8" userid = "root" password = "123456" <javamodelgenerator targetpackage = "com.chaoqi.springboot_mybatisplus.dao.domain" targetproject = "src/main/java"/> <! العميل المقابل-> <javaclientgenerator targetpackage = "com.chaoqi.springboot_mybatisplus.dao.mapper" targetproject = "src/main/java" type = "xmlmapper"/> <! sqlstatement = "mysql"/> <!-تكوين Oracle-> <!-<columnekey column = "id" sqlstatement = "select seq_ {1} .nextval من dual" hite "=" false "type =" pre "/>-> </context> </enderatorConfiguration>مولد مافن
هيكل المشروع الذي تم إنشاؤه على النحو التالي
5. دمج MyBatisPlus
إنشاء واجهة الخدمة وفئة تنفيذ الخدمة
package com.chaoqi.springboot_mybatisplus.service ؛ استيراد com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo ؛ استيراد java.util.list ؛ public interface musicinfoservice
حزمة com.chaoqi.springboot_mybatisplus.service.impl ؛ استيراد com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo com.chaoqi.springboot_mybatisplus.service.musicinfoservice @autowired musicinfomapper musicinfomapper ؛ قائمة Override العامة <MusicInfo> getMusicInfo () {list <MusicInfo> musicInfos = musicinfomapper.selectall () ؛ إرجاع MusicInfos ؛ }}إنشاء وحدة تحكم
حزمة com.chaoqi.springboot_mybatisplus.web ؛ استيراد com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo org.springframework.beans.factory.annotation. MusicInfoController {autowired musicinfoservice musicInfoservice ؛ REquestMapping ("/showmusic") القائمة العامة <MusicInfo> getMusicInfo () {list <MusicInfo> musicInfo1 = musicInfoservice.getMusicInfo () ؛ إرجاع MusicInfo1 ؛ }}هنا لا أكتب SQL لـ Mapper. يتم تغليف بعض sqlmybatiplus البسيطة ، مما يوفر الكثير من وقت التطوير. إذا كان بعض SQL معقدة ، فيمكن أيضًا تنفيذها عن طريق كتابة SQL الأصلي. في مدونتي الثانية ، تحدثت عن دمج مشروع SpringBoot+SpringMVC+MyBatis.
تشغيل springbootmybatisplusapplication الوظيفة الرئيسية
package com.chaoqi.springboot_mybatisplus ؛ استيراد org.mybatis.spring.annotation.mapperscan ؛ استيراد org.springframework.boot.springapplication ؛ استيراد ؛ org.springframework.boot.autoconfigure.springBootApplication ؛@springbootapplication@mapperscan ( springapplication.run (SpringBootMyBatisPlusApplication.class ، args) ؛ }}
عرض قاعدة البيانات
فيما يلي بعض الطرق لتغليف MyBatisPlus. كيفية استخدام هذه الطرق على وجه التحديد. يمكن للأصدقاء المهتمين التحقق من رمز المصدر. MyBatisPlus لديه أيضا وظيفة ترقيم الصفحات قوية. إذا كنت مهتمًا ، فيمكنك أيضًا التعلم هنا.
(عنوان تنزيل رمز المصدر)
أخيرًا ، شكرًا لك على المشاهدة. أرجوك سامحني على افتقارك لخبرتك في كتابة المدونات.