memperkenalkan:
Mybatis-plus (MP singkat) adalah alat peningkatan mybatis. Berdasarkan mybatis, itu hanya meningkatkan dan tidak berubah, dan dilahirkan untuk menyederhanakan pengembangan dan meningkatkan efisiensi. (Kutipan dari situs resmi Mybatis-plus) Meskipun Mybatis telah memberi kami kenyamanan yang luar biasa, itu masih memiliki kekurangan. Keberadaan MP adalah sedikit menebus kekurangan mybatis. Ketika kami menggunakan mybatis, kami akan menemukan bahwa setiap kali kami ingin menulis logika bisnis, kami harus menulis metode di lapisan DAO, dan kemudian sesuai dengan SQL. Bahkan jika kita hanya menanyakan suatu kondisi, kita harus menambahkan metode baru di lapisan DAO. Menanggapi masalah ini, MP adalah kerangka kerja yang menggabungkan keunggulan mybatis dan hibernate. Ini memberikan kenyamanan operasi dadih tabel tunggal Hibernate sambil mempertahankan fitur mybatis.
Bab ini hanya mengajarkan Anda cara menggunakan mybatisplus. Jika Anda ingin memahami secara mendalam bagaimana lapisan yang mendasarinya diimplementasikan, Anda dapat mengunduh kode sumber untuk menafsirkannya di situs web resmi.
1. Buat proyek
Saya tidak akan melangkah demi langkah di sini. Saya akan langsung memberikan struktur proyek yang dibuat. Di akhir bab ini, saya akan memberikan alamat kode sumber yang perlu ditemukan diunduh.
2. Memperkenalkan dependensi
<? Xml Version = "1.0" encoding = "UTF-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <ModelVersion> 4.0.0 </modelversion> <groupid> com.chaooqi </groupid </ModelVersion> <groupid> com.chaoqi </groupi </group </ModelVersion> <groupid> com.chaoqi <ArTifactId> springboot_mybatisplus </artifactid> <version> 0.0.1-snapshot </version> <packaging> Jar </packaging> <name> springboot_mybatisplus </name> <cripipence> Proyek demo untuk Spring Boot </description> <groundid> <groupdfr. <ArTifactId> Spring-Boot-Starter-Parent </artifactId> <version> 2.0.0.release </versi> <relativePath/> </parent> <ProSTIES> <PROXIC.BUILD.SOURCEENCODING> UTF-8 </project.build.sourceCoding> <Project.Reporting.OutputEncoding> UTF-8 </project.reporting.outputEncoding> <Java.Version> 1.8 </java.version> </Properties> </ArtiCid> <Rupprupid> org. </Dependency> <dependency> <GroupId> org.springframework.boot </groupid> <ArtiFacTid> Spring-boot-starter-web </t Artifactid> </dependency> <dependency> <RoRGacID> org.mybatis.spring.boot </groupid> <ArTifactid> Myg.mybatis.spring.boot </groupid> <ArTifacTid> MyB.Mybatis.spring.boot </groupid> <ArTifacTid> <version> 1.3.2 </version> </dependency> <dependency> <GroupId> mysql </proupid> <ArtifactId> mysql-connector-java </arttifactid> <seCope> runtime </tumop> </dependency> <groupid> <groupid> org.springframework.boot </Dependency> <groupid> <ArTifactId> Spring-boot-starter-test </arttifactid> <scope> test </seupope> </dependency> <!-tambahkan dependensi JSP-> <dependency> <groupid> org.springframework.boot </groupid> <Artifactid> Spring-boots-starter-tombat </art/groupid> <Artifactid> Spring-starter-tombat </art/groupid> <groupid> org.apache.tomcat.embed </sroupid> <ArtifactId> tomcat-embed-jasper </arttifactid> </dependency> <!-Springboot-Mybatis Reverse Engineering-<sependency> <sroupid> org.mybatis.generator </groupid> <sortif> <version> 1.3.2 </version> </dependency> <!-mybatis umum mapper-> <dependency> <groupid> tk.mybatis </groupid> <Artifactid> mapper-spring-boot-starter </arttifactid> <version> 1.1.4 </Versi </Dependency> </Dependencies> </Versi </Versi </Versi> </Dependency> </Dependencies> <groupId> org.springframework.boot </proupid> <ArtifactId> spring-boot-maven-plugin </arttifactid> </lugin> <clugin> <roupid> org.mybatis.generator </ploupid> <Artifactid> Mybatis-generator-Maven-Pland <ConfigurationFile> SRC/Main/Resources/GeneratorConfig.xml </ConfigurationFile> <Verbose> true </verbose> <Anvwrite> true </sidrite> </Configuration> <Execution> <Execution> <decution> Hasilkan MyBatis Artifacts </id </ID> <cound> <cound> Gener/Generate </Ider </Execution> <Dependencies> <dependency> <GroupId> org.mybatis.generator </groupId> <ArTifactId> mybatis-generator-core </artifactid> <version> 1.3.2 </version> </dependency> <sgroupid> <sroupid> tk.mybatis </Version> </Dependency> <sependency> <sroupid> tk.mybatis </groupid> <torcid> <torfapy> <sroupid> <sroupid> <crupping> <crupping> TK.Mybatis </groupid> <torcid> <srupping> <sroupid> <sroupid> <version> 3.5.0 </version> </dependency> </dependencies> </plugin> </lugin> </build> </boject>
3. Edit Application.yml
Server: Port: 8080spring: MVC: Lihat: awalan:/web-inf/jsp/sufiks: .jsp dataSource: url: jdbc: mysql: // localhost: 3306/test? karakterEncoding = UTF-8 & UseUnicode = true & usessl = false username: 123 com.mysql.jdbc.drivermybatis: mapper-locations: classpath: mapper/*. xml tipe-aliases-package: com.chaoqi.springboot_mybatisplus.domain
4. Generasi terbalik dari pojo, mapper
Buat GeneratorConfig.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Doctype GeneratorConfiguration Public "-// mybatis.org//dtd MyBatis Generator Configuration 1.0 // en" "http://mybatis.org/dtd/mybatis-genercon>" cond- " <Properties Resource = "application.yml"/> <classpathentry location = "d: /mysql/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar"/> <konteks = "mysql" TargetRuntime = "mybatis3SIMPLEPLEPLE" "mySQL" TargetRoTtime = "mybatis3SIMPLEPLE" "mysql" Target "myBatis3SIPLE" "mySQL" name = "startDelimiter" value = "` "/> <properti name =" endDelimiter "value =" `"/> <name properti = "javafileEncoding" value = "UTF-8"/> <type plugin = "tk.mybatis.mapper.generator.mapperplugin"> <tk.mybatis.mapper.generator.mapperplugin "> <tk.mybatis.mappers value = "tk.mybatis.mapper.common.mapper"/> </lugin> <!-komentar-> <commentsgenerator> <!-apakah akan menghasilkan komentar untuk cap waktu-> <nama properti = "SuppressDate" value = "true"/<!-Apakah akan menghapus komentar yang dihasilkan secara otomatis benar: ya: no: no-no-name-> <true "/> <! <!-Koneksi JDBC-> <jdbcconnection driverclass = "com.mysql.jdbc.driver" connectionUrl = "jdbc: mysql: // localhost: 3306/test? KarakterEncoding = UTF-8" UserId = "root" Password = "123456"> </jdbs = "Userid =" root "Kata sandi =" 123456 "> </jdbbccc-uSerid =" root "=" 123456 "> </JDB-JDB-JDB-USERID =" root " <javaModelGenerator targetPackage="com.chaoqi.springboot_mybatisplus.dao.domain" targetProject="src/main/java"/> <!-- Generate mapper xml file--> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/> <!-- Generate mapper XML Klien yang sesuai-> <javaClientGenerator targetPackage = "com.chaoqi.springboot_mybatisplus.dao.mapper" targetProject = "src/main/java" type = "xmlmapper"/<!-Informasi meja konfigurasi-> <table-tablename = "%"%"%mysq. sqlStatement = "mysql"/> <!-oracle configuration-> <!-<generatedKey column = "id" sqlStatement = "pilih seq_ {1} .nextval dari dual" identity = "false" type = "pre"/>-> </table> </context> </generator configuration>Maven Run Generator
Struktur proyek yang dihasilkan adalah sebagai berikut
5. mengintegrasikan mybatisplus
Buat Antarmuka Layanan dan Kelas Implementasi Layanan
Paket com.chaoqi.springboot_mybatisplus.service; import com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; import java.util.list; antarmuka publik {list publik <Musicinfo> getmo> getmoCinfose (MUSICICICOCER (MUSICINFO> PUBLIK (MUSICINFO> MUSICICIN; Paket com.chaoqi.springboot_mybatisplus.service.impl; import com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; impor com.chaoqi.springboot_mybatusclus.dao.mapperpersypboot_mybatusclus.dao.mapper.springinfioT_mybatusclus.dao.mapper com.chaoqi.springboot_mybatisplus.service.musicinfoservice; impor org.springframework.beans.factory.annotation.Autowired; impor org.springframework.stereotipe.service; impor java.util.list; SERVERCLICLICECLICECLICECLICECLICECLICECLICE; {@Autowired private musicInfomapper musicInfomapper; Daftar publik @Override <Sicinfo> getMusicInfo () {Daftar <Sicinfo> MusicInfos = MusicInfomapper.selectall (); Return MusicInfos; }}Buat pengontrol
Paket com.chaoqi.springboot_mybatisplus.web; import com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; impor com.chaoqi.springboot_mybatisplus.service.musicinfice org.springframework.beans.factory.annotation.Autowired; impor org.springframework.web.bind.annotation.restmapping; impor org.springframework.web.bind.annotation.restController; impor java.utilist; MusicInfocontroller {@Autowired private MUSICInfoservice MusicInfoservice; @RequestMapping ("/showmusic") Daftar publik <Sicinfo> getMusicInfo () {Daftar <Sicinfo> MusicInfo1 = MusicInfoservice.getMusicInfo (); return MusicInfo1; }}Di sini saya tidak menulis SQL untuk Mapper. Beberapa sqlmybatiplus sederhana dienkapsulasi, menghemat banyak waktu pengembangan. Jika itu adalah beberapa SQL yang kompleks, itu juga dapat diimplementasikan dengan menulis SQL asli. Di blog kedua saya, saya berbicara tentang integrasi Proyek Springboot+SpringMVC+MyBatis.
Jalankan fungsi utama springbootmybatisplusplus aplikasi
Paket com.chaoqi.springboot_mybatisplus; impor org.mybatis.spring.annotation.mapperscan; impor org.springframework.boot.springapplication; impor org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication@MapperScan("com.chaoqi.springboot_mybatisplus.dao.mapper")public class SpringbootMybatisplusApplication { public static void main(String[] args) { Springapplication.run (springbootmybatisplusapplication.class, args); }}Lihat database
Di bawah ini adalah beberapa metode untuk enkapsulasi mybatisplus. Cara menggunakan metode ini secara khusus. Teman yang tertarik dapat memeriksa kode sumbernya. Mybatisplus juga memiliki fungsi pagination yang kuat. Jika Anda tertarik, Anda juga dapat belajar di sini.
(Alamat unduhan kode sumber)
Akhirnya, terima kasih telah menonton. Mohon maafkan saya atas kurangnya pengalaman Anda dalam menulis blog.