แนะนำ:
mybatis-plus (MP สั้น ๆ ) เป็นเครื่องมือเพิ่มประสิทธิภาพ mybatis ขึ้นอยู่กับ mybatis มันจะช่วยเพิ่มและไม่เปลี่ยนแปลงเท่านั้นและเกิดมาเพื่อลดความซับซ้อนของการพัฒนาและปรับปรุงประสิทธิภาพ (ข้อความที่ตัดตอนมาจากเว็บไซต์ทางการ MyBatis-Plus) แม้ว่า MyBatis จะให้ความสะดวกสบายแก่เรา แต่ก็ยังมีข้อบกพร่อง การมีอยู่ของ MP คือการทำขึ้นเล็กน้อยสำหรับข้อบกพร่องของ mybatis เมื่อเราใช้ mybatis เราจะพบว่าเมื่อใดก็ตามที่เราต้องการเขียนตรรกะทางธุรกิจเราต้องเขียนวิธีการในชั้น DAO แล้วสอดคล้องกับ SQL แม้ว่าเราจะสอบถามเงื่อนไขได้เราก็ต้องเพิ่มวิธีการใหม่ในชั้น DAO ในการตอบสนองต่อปัญหานี้ MP เป็นกรอบที่รวมข้อดีของ mybatis และไฮเบอร์เนต มันให้ความสะดวกสบายของการทำงานของเต้าหู้โต๊ะเดี่ยวของไฮเบอร์เนตในขณะที่ยังคงรักษาคุณสมบัติของ mybatis
บทนี้จะสอนวิธีการใช้ mybatisplus เท่านั้น หากคุณต้องการเข้าใจในเชิงลึกว่าเลเยอร์พื้นฐานถูกนำไปใช้อย่างไรคุณสามารถดาวน์โหลดซอร์สโค้ดเพื่อตีความได้ในเว็บไซต์ทางการ
1. สร้างโครงการ
ฉันจะไม่ไปทีละขั้นตอนที่นี่ ฉันจะให้โครงสร้างโครงการที่สร้างขึ้นโดยตรง ในตอนท้ายของบทนี้ฉันจะให้ที่อยู่ซอร์สโค้ดที่จำเป็นต้องดาวน์โหลด
2. แนะนำการพึ่งพา
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/ XSI: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" <ArtIfactId> SpringBoot_MyBatisPlus </artifactid> <sersion> 0.0.1-Snapshot </เวอร์ชัน> <packaging> jar </packaging> <name> springboot_mybatisplus </name> <scription> โครงการ Demo สำหรับการบูตฤดูใบไม้ผลิ <ArtIfactId> Spring-Boot-Starter-Parent </artifactId> <version> 2.0.0.release </เวอร์ชัน> <inelypath/> </parent> <properties> <Project.Reporting.UutputEncoding> UTF-8 </Project.Reporting.UutputPutenCoding> <Java.Version> 1.8 </Java.Version> </premerties> </perctency> <การพึ่งพา> <roupId> org.springframework.boot </groupid> <ratifactid> Spring-Boot-starter-web </artifactid> </dependency> <Sersion> 1.3.2 </Serve> </derctency> <การพึ่งพา> <roupId> mySQL </groupId> <ratifactId> mysql-connector-java </artifactid> <scope> รันไทม์ </cope> </การพึ่งพา <ratifactid> การทดสอบสปริง-สตาร์สตาร์เทสต์ </artifactid> <cope> ทดสอบ </pope> </dercendency> <!-เพิ่มการพึ่งพา JSP-> <predency> <roupid> org.springframework.boot </groupid> <RoupID> org.apache.tomcat.embed </groupid> <ratifactid> tomcat-embed-jasper </artifactid> </perctency> <!-Springboot-Mybatis Reverse Engineering-> <การพึ่งพา> <Sersion> 1.3.2 </Serve> </perctency> <!-MyBatis General Mapper-> <การพึ่งพา> <roupId> tk.mybatis </groupId> <ratifactid> Mapper-Spring-Boot-Starter </artifactid> <RoupID> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Maven-Plugin </ArtifactId> </plugin> <plugin> <loupid> org.mybatis.generator </groupid> <การกำหนดค่า file> src/main/resources/generatorconfig.xml </configurationfile> <derbose> True </verbose> <Overwrite> True </overwrite> </การกำหนดค่า> <Cenecutions> </Execution> <การพึ่งพา> <การพึ่งพา> <roupId> org.mybatis.generator </groupId> <ratifactid> mybatis-generator-core </artifactid> <cersion> 1.3.2 </Side> <cersion> 3.5.0 </version> </predency> </pendencies> </plugin> </plugins> </uffer
3. แก้ไขแอปพลิเคชัน.
เซิร์ฟเวอร์: พอร์ต: 8080SPRING: MVC: ดู: คำนำหน้า:/web-inf/jsp/คำต่อท้าย: .jsp dataSource: url: jdbc: mysql: // localhost: 3306/ทดสอบ? com.mysql.jdbc.drivermybatis: mapper-locations: classpath: mapper/*. xml type-aliases-package: com.chaoqi.springboot_mybatisplus.domain
4. การสร้าง Pojo แบบย้อนกลับ, Mapper
สร้าง GeneratorConfig.xml
<? XML เวอร์ชัน = "1.0" การเข้ารหัส = "UTF-8"?> <! DOCTYPE GENERATORATONCONTURAUNT POVER "-// MyBatis.org//dtd MyBatis Generation 1.0 // en" "http://mybatis.org/dtd/MyBatis <properties resource = "application.yml"/> <classpathentry location = "d: /mysql/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar"/> <context id = "mysql" เป้าหมาย name = "artialdelimiter" 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> <!-ความคิดเห็น-> <ความคิดเห็น Generator> <!-ไม่ว่าจะสร้างความคิดเห็นสำหรับการประทับเวลา-> <property name = "suppressDate" value = "true"/> <! </commentGenerator> <!-การเชื่อมต่อ JDBC-> <jdbcconnection driverclass = "com.mysql.jdbc.driver" การเชื่อมต่อ = "jdbc: mysql: // localhost: 3306/ทดสอบ? <JavamodelGenerator TargetPackage = "com.chaoqi.springboot_mybatisplus.dao.domain" targetProject = "src/main/java"/> <! XML ไคลเอนต์ที่สอดคล้องกัน-> <javaclientGenerator targetPackage = "com.chaoqi.springboot_mybatisplus.dao.mapper" เป้าหมาย project = "src/main/java" type = "xmlmapper"/> <! column = "id" sqlstatement = "mysql"/> <!-การกำหนดค่า Oracle-> <!-<generatedkey column = "id" sqlstatement = "เลือก seq_ {1} .nextval จาก dual" identity = "false" type = "pre"/>->เครื่องกำเนิดไฟฟ้า maven
โครงสร้างโครงการที่สร้างขึ้นมีดังนี้
5. รวม MyBatisPlus
สร้างอินเทอร์เฟซบริการและคลาสการใช้งานบริการ
แพ็คเกจ com.chaoqi.springboot_mybatisplus.service; นำเข้า com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; นำเข้า java.util.list;
แพ็คเกจ com.chaoqi.springboot_mybatisplus.service.impl; นำเข้า com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; นำเข้า com.chaoqi.springboot_mybatisplus.dao.mapper.dao. com.chaoqi.springboot_mybatisplus.service.musicinfoservice; นำเข้า org.springframework.beans.factory.annotation.autowired; นำเข้า org.springframework.stereotype.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; นำเข้า com.chaoqi.springboot_mybatisplus.service.service.musicinfoservice.service.musicinfoservice. org.springframework.beans.factory.annotation.autoWired; นำเข้า org.springframework.web.bind.annotation.Requestmapping; นำเข้า org.springframework.web.bind.annotation.restcontroller; MusicInFocontroller {@autowired Musicinfoservice Musicinfoservice; @RequestMapping ("/showmusic") รายการสาธารณะ <MusicInfo> getMusicinfo () {list <MusicInfo> MusicInfo1 = MusicInFoservice.getMusicinfo (); กลับมา musicinfo1; -ที่นี่ฉันไม่ได้เขียน SQL สำหรับ Mapper Sqlmybatiplus ง่าย ๆ บางตัวถูกห่อหุ้มทำให้ประหยัดเวลาในการพัฒนาได้มาก หากเป็น SQL ที่ซับซ้อนก็สามารถนำไปใช้ได้โดยการเขียน SQL ดั้งเดิม ในบล็อกที่สองของฉันฉันได้พูดคุยเกี่ยวกับการรวมโครงการ Springboot+SpringMVC+MyBatis
เรียกใช้ฟังก์ชั่นหลัก
แพ็คเกจ com.chaoqi.springboot_mybatisplus; นำเข้า org.mybatis.spring.annotation.mapperscan; นำเข้า org.springframework.boot.springapplication; org.springframework.boot.autoconfigure.springbootapplication;@springbootapplication@mapperscan ("com.chaoqi.springboot_mybatisplus.dao.mapper") คลาสสาธารณะ SpringApplication.run (SpringbootMyBatisPlusApplication.class, args); -ดูฐานข้อมูล
ด้านล่างนี้เป็นวิธีการบางอย่างสำหรับการห่อหุ้ม MyBatisPlus วิธีใช้วิธีการเหล่านี้โดยเฉพาะ เพื่อนที่สนใจสามารถตรวจสอบซอร์สโค้ด MyBatisPlus ยังมีฟังก์ชั่นการปนเปื้อนที่ทรงพลัง หากคุณสนใจคุณสามารถเรียนรู้ได้ที่นี่
(ที่อยู่ดาวน์โหลดซอร์สโค้ด)
สุดท้ายขอบคุณสำหรับการดู โปรดยกโทษให้ฉันสำหรับการขาดประสบการณ์ในการเขียนบล็อก