introduzir:
Mybatis-plus (MP para curta) é uma ferramenta de aprimoramento Mybatis. Com base no Mybatis, ele só aprimora e não muda, e nasce para simplificar o desenvolvimento e melhorar a eficiência. (Trecho do site oficial do Mybatis-Plus) Embora o Mybatis tenha nos proporcionado uma grande conveniência, ele ainda tem deficiências. A existência de MP é compensar ligeiramente as deficiências de Mybatis. Quando usamos o Mybatis, descobriremos que sempre que quisermos escrever uma lógica de negócios, temos que escrever um método na camada DAO e depois corresponder a um SQL. Mesmo se simplesmente consultarmos uma condição, precisamos adicionar um novo método na camada DAO. Em resposta a esse problema, o MP é uma estrutura que combina as vantagens de Mybatis e Hibernate. Ele fornece a conveniência da operação de coalhada de tabela única da Hibernate, mantendo os recursos do Mybatis.
Este capítulo apenas ensina como usar o mybatisplus. Se você deseja entender como a camada subjacente é implementada, pode baixar o código-fonte para interpretá-lo no site oficial.
1. Crie um projeto
Não vou passo a passo aqui. Vou dar diretamente a estrutura do projeto criado. No final deste capítulo, darei ao endereço do código -fonte que precisa ser baixado.
2. Introduzir dependências
<? xml versão = "1.0" coding = "utf-8"?> <Projeto xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.ww3.org/2001/xmlschaMance 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.chaoqi</groupId> </ArtifactId> springboot_mybatisplus </storkactid> <versão> 0.0.1-snapshot </version> <batyaging> jar </acheging> <name> springboot_mybatisplus </name> <cription> Demo Project for spring boot </description> </groupid> oug.springfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringFRAMPROWFROTFROTH. <TarfactId> Spring-Boot-Starter-Parent </ArtifactId> <versão> 2.0.0.release </sipers> <RelityPath/> </parent> </project.build.sourceEncoding> <Project.Reporting.OutputEncoding> utf-8 </project.reporting.outputencoding> <nava.version> 1.8 </java.version> </sperties> </dependências> <spendency> <voundid> org.springframework.BOOT </Groupid> <strofactId> Spring- Spring- Spring- <Depencency> <PuerpId> org.springframework.boot </groupId> <TRATIFACTID> Spring-boot-starter-web </stutifactId> </dependency> <pendence> <rutifactId> org.mybatis.spring.boot </groupid> <Artifactid> mybatis-spring-Bot-BOT.Bring.Boot </Groupid> <Artifactid> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <cope> test </cope> </dependency> <!-adicione dependências jsp-> <pendence> <puperid> org.springframework.boot </frugiD> <stifactId> spring-boot-starter-tomcat </artifactid> </dependência> <Pepicy> <vroupId> ourgache.tomcom <TRAFACTID> TOMCAT-EMBED-JASPER </ArtifactId> </Dependency> <!-Springboot-Mybatis Reverse Engineering-> <pendesency> <purpiD> org.mybatis.Generator </Groupid> <Tarifactid> mybatis-generator-core </ArtifactIs> <versão <versão> <suerdId> <versão> <berpper> <bern>! -> <Depencency> <voundid> tk.mybatis </groupiD> <TRARFACTID> mapper-spring-boot-starter </artifactId> <versão> 1.1.4 </version> </dependency> </dependências> <fuild> <flugins> <plugin> <plugiD> org.springfamework.BoT <build> <flugins> <plugin> <plupid> org.springframwork.BoT-T <bilt> <flugins> <plugin> <plugiD> </ArtifactId> Spring-Boot-Maven-Plugin </starfactId> </plugin> <clugin> <plugiD> org.mybatis.generator </foupid> <ArtifactId> mybatis-generator-maven-plugin </stifactId> <Versão> 1.3.2 </versão> <fligation> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <executions> <execution> <id>Generate MyBatis Artifacts</id> <goals> <goal>generate</goal> </goals> </execution> </execution> </execution> </secution> <pendences> <pendency> <voundid> org.mybatis.generator </groupiD> <TRATIFACTID> mybatis-generator-core </artifactId> <versão> 1.3.2 </version> </dependency> </GroupiDpper> Tk.mybatis MAGMIDBATIS </Version> </dependência> </Groupid> </syMId> <versão> 3.5.0 </sipers> </dependency> </dependências> </plugin> </plugins> </fruct> </project>
3. Editar Application.yml
Servidor: Porta: 8080Spring: MVC: View: Prefixo:/web-inf/jsp/sufixo: .jsp DataSource: URL: JDBC: mysql: // localhost: 3306/teste? CaracterenCoding = utf-8 & useunicode = trueSessl = Falsename: root: 123344: com.mysql.jdbc.drivermybatis: Mapper-Locations: Classpath: mapper/*.
4. Geração reversa de pojo, mapeador
Crie o generatorconfig.xml
<? xml versão = "1.0" coding = "utf-8"?> <! Doctype geratorConfiguration public "-// mybatis.org//dtd mybatis generator configuration 1.0 //" <Properties Resource = "Application.yml"/> <ClassPathentry Location = "d: /mysql/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar"/> <Context = "MySql "Runtime =" "MybatSim3SIMPLE" name = "Inichedelimiter" value = "` "/> <propriedade name =" enddelimiter "value =" `"/> <names name = "javafileEncoding" value = "utf-8"/> <plugin tipo = "tk.mybatis.mapper.generator.mapperplugin"> <nome da propriedade " value = "tk.mybatis.mapper.common.mapper"/> </plugin> <!-Comentário-> <CommentGenerator> <!-se deve gerar comentários para registradores de data e hora-> <nome da propriedade "SUPRESTTATE" Value = "True"/> <!-Remover para remover automaticamente os comentários verdadeiros: sim: não-não->: " <!-jdbc conexão-> <jdbcconnection driverclass = "com.mysql.jdbc.driver" Connectionurl = "jdbc: mysql: // localhost: 3306/teste? <JavamodelGenerator TargetPackage = "com.chaoqi.springboot_mybatisplus.dao.domain" TargetProject = "src/main/java"/> <!-gene mapper xml file-> <sqlMaPenerator MAINGACKAGE = "MAPPPER" STOWPROPROPROPROMPROMPROMPROMPROMPROMPROMPROMPROMPROMPROMPROMPRO (SQLMAPERTAGEM) XML Client correspondente-> <JavaclientGenerator TargetPackage = "com.chaoqi.springboot_mybatisplus.dao.mapper" TargetProject = "Src/main/java" type = "xmlmapper"/!-Mys Tabela Information-> <tablename "=" xmlmapper "/! column = "id" sqlstatement = "mysql"/> <!-Configuração do Oracle-> <!-<generatedkey column = "id" sqlstatement = "selecione seq_ {1} .nextVal de dual" identity = "false" type = "pré"/>-> </tabela> </contextf>gerador de execução maven
A estrutura do projeto gerada é a seguinte
5. Integre o Mybatisplus
Crie interface de serviço e classe de implementação de serviço
pacote com.chaoqi.springboot_mybatisplus.service; importar com.chaoqi.springboot_mybatisplus.dao.Domain.musicinfo; import java.util.list; public interface
package com.chaoqi.springboot_mybatisplus.service.impl;import com.chaoqi.springboot_mybatisplus.dao.domain.MusicInfo;import com.chaoqi.springboot_mybatisplus.dao.mapper.MusicInfoMapper;import com.chaoqi.springboot_mybatisplus.service.musicInfoservice; importar org.springframework.beans.factory.annotation.aUTowIdEd; importImpl.springFramework.steroType.service; MusicImImEmMeMorSeRTIrticeMenseMenseMenseMenseMenseMenseMenseMenseMenseMenseMenseMenseMenseMenseMenseMenseMenseMenseMensen; @Autowired Private MusicInfomapper MusicInfomapper; @Override Public List <CusicInfo> getMusicInfo () {list <sicionInfo> musicinfos = musicinfomapper.selectall (); retornar musicinfos; }}Criar controlador
pacote com.chaoqi.springboot_mybatisplus.web; importar com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; importação com.chaoqi.springboot_mybatisplus.ervice.musicFosSice.musicosSeRexFosSeReRexFosSever.musice.musicFosSever; org.springframework.beans.factory.annotation.autowired; importar org.springframework.web.bind.annotation.requestMapping; importar org.springframework.web.bind.annotation.restcontroller; importação jAVA.util.list; MusicInfocontroller {@Autowired Private MusicinFoservice MusicinFoservice; @RequestMapping ("/SHOPMUSIC") LISTA PUBLICA <Musicinfo> getMusicInfo () {list <usicinfo> musicinfo1 = musicinfoservice.getMusicinfo (); retornar musicInfo1; }}Aqui não escrevo SQL para o Mapper. Alguns sqlmybatiplus simples são encapsulados, economizando muito tempo de desenvolvimento. Se for um SQL complexo, também pode ser implementado escrevendo SQL nativo. No meu segundo blog, falei sobre a integração do projeto Springboot+Springmvc+Mybatis.
Executar a função principal da SpringBootmyBatisplusApplication
pacote com.chaoqi.springboot_mybatisplus; importar org.mybatis.spring.annotation.mapperscan; importar org.springframework.boot.springApplication; importar; org.springframework.boot.autoconfigure.springbootapplication;@springbootapplication@mapperscan ("com.chaoqi.springboot_mybatisplus.dao.mapper") Public class Springbootmybatispluspplication {public vort le SpringApplication.Run (SpringbootmybatisplusApplication.class, args); }}Veja o banco de dados
Abaixo estão alguns métodos para encapsulamento do Mybatisplus. Como usar esses métodos especificamente. Amigos interessados podem verificar o código -fonte. Mybatisplus também tem uma poderosa função de paginação. Se você estiver interessado, também pode aprender aqui.
(Endereço de download do código -fonte)
Finalmente, obrigado por assistir. Por favor, me perdoe por sua falta de experiência em escrever blogs.