представлять:
Mybatis-Plus (MP для короткометражных)-это инструмент улучшения Mybatis. Основываясь на Mybatis, он только улучшает и не меняется и рожден для упрощения развития и повышения эффективности. (Выдержка с официального сайта Mybatis-Plus) Хотя Mybatis предоставил нам большое удобство, у него все еще есть недостатки. Существование MP заключается в том, чтобы немного компенсировать недостатки Mybatis. Когда мы используем Mybatis, мы обнаружим, что всякий раз, когда мы хотим написать бизнес -логику, мы должны написать метод в слое DAO, а затем соответствовать SQL. Даже если мы просто запросите условие, мы должны добавить новый метод в слой DAO. В ответ на эту проблему MP - это структура, которая сочетает в себе преимущества Mybatis и Hibernate. Он обеспечивает удобство работы с одним столом в Hibernate при сохранении функций Mybatis.
Эта глава только учит вас, как использовать mybatisplus. Если вы хотите понять, как реализован основной уровень, вы можете загрузить исходный код, чтобы интерпретировать его на официальном веб-сайте.
1. Создать проект
Я не пойду шаг за шагом здесь. Я напрямую дам созданную структуру проекта. В конце этой главы я дам адрес исходного кода, который необходимо найти для загрузки.
2. Введите зависимости
<? 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-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <dolidyversion> 4.0.0 </modelversion> <groupid> com.chaoqi </GroupD> <StrifactId> springboot_mybatisplus </artifactid> <sersion> 0.0.1-snapshot </version> </vackaging> jar </packaging> <mame> springboot_mybatisplus </name> <periceing> демо-проект для Spring Boot </description> <parent> <groupid> org.spramework.boot </group> </description> <parent> <groupid> org.spramework.boot </group> <artifactid> spring-boot-starter-parent </artifactid> <sersion> 2.0.0.release </version> <venterativePath/> </parent> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reporting.outputencoding> UTF-8 </Project.Report.OutputEncoding> <java.version> 1.8 </java.version> </Свойства> <Depertiencies> <dehyestion> <groupid> org.springframework.boot </GroupID> <StrifActId> Spring-boot-starter-jdBcc./artifactId> <StrifActId> Spring-boot-starter-jdBcc. <depervice> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-web </artifactid> </depervice> <dehyedence> <groupid> org.mybatis.spring.boot </Groupid> <artifactid> mybatis-spring-strater </artifactid> <StrifActid> myBatis-spring-boot-starter </artifactid>>. </depertive> <dependency> <groupid> mysql </GroupId> <ratifactId> mySQL-Connector-java </artifactid> <crappope> runtime </scope> </depertive> <dependency> <groupid> org.springframework.boot </GroupId> <StrifActId> Spring-boot-starter-test-test-testd </artifactid> </depervice> <!-Добавить JSP-зависимости-> <Dependency> <groupId> org.springframework.boot </GroupId> <straCactId> Spring-boot-starter-tomcat </artifactid> </artepactiD> <groupd> org.apache.tomcat.embed </GroupId> <artifactId> arg.apache.tomcat.embed </groupid> <artifactId> arg.apache.tomcat.embed </GroupD> </depervice> <!-Springboot-Mybatis Reverse Engineering-> <Dependency> <groupId> org.mybatis.generator </GroupId> <ArtifactId> mybatis-Generator-core </artifactid> <sersive> 1.3.2 </version> </jeperties> <!-MyBatis General Mapper-> <Degy GroupId> tk.my. <artifactId>mapper-spring-boot-starter</artifactId> <version>1.1.4</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId> org.mybatis.generator </GroupId> <ArtifactId> mybatis-Generator-maven-plugin </artifactid> <sersive> 1.3.2 </version> <configuration> <configurationfile> src/main/resources/generatorconfig.xml </configurationfile> <verbose> true </verbose> true </verbose> verbose> </verbose> </verbose> </verbose> </verbose> </configuration> <ferainations> <cerfusion> <id> генерировать артефакты mybatis </id> <Голы> <Холлы> генерировать </ogle> </ogle> </execution> </выполнение> </выполнение> </execution> <deperiation> <dehybatis> <groupid> org.mybatis.Generator </GroupDative> <ArtifactId> <groupid> org.mybatis.generator </Groupdator> </artifactId> <groupid> org.mybatis.generator <sersion> 1.3.2 </version> </dependency> <depervice> <groupid> tk.mybatis </groupid> <artifactid> mapper </artifactid> <serse> 3.5.5.0 </version> </depertive> </depertion> </placin> </plucins> </build> </project>
3. Редактировать Application.yml
Сервер: порт: 8080spring: MVC: Просмотр: Prefix:/web-inf/jsp/суффикс: .jsp dataSource: url: jdbc: mysql: // localhost: 3306/test? Характерполирование = UTF-8 и useUnicode = true & usessl = false unseranme: root pally: 123456. com.mysql.jdbc.drivermybatis: mapper-locations: classpath: mapper/*. xml type-aliases-package: com.chaoqi.springboot_mybatisplus.domain
4. обратное поколение Pojo, Mapper
Создать GeneratorConfig.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype GeneratorConfiguration public "-// mybatis.org//dtd Mybatis Generator Configuration 1.0 // en" <Properties resource = "Application.yml"/> <classpathentry location = "d: /mysql/mysql-connector-java-5.1.46/mysql-connect-java-5.1.46.jar"/> <context id = "mysql" targetruntime = "mybatis3simple"/> <context id = "gatedruntime =" mybatis3simple "/" wartruntime = "mybatis3simple" = ">" name = "prongeDelimiter" value = "` "/> <name =" endDelimiter "value =" `"/> <name = "javafileencoding" value = "utf-8"/> <плагин тип = "tk.mybatis.mapper.generator.mapperplugin"> <properation antage = "mappers" value = "tk.mybatis.mapper.common.mapper"/> </plagin> <!-Комментарий-> <Комментинггенратор> <!-Создание комментариев для временных лапок-> <Название свойства = "PustressDate" value = "true"/> <! <!-JDBC Connection-> <jdbcconnection DriverClass = "com.mysql.jdbc.driver" connectionUrl = "jdbc: mysql: // localhost: 3306/test? Harmentencoding = utf-8" userId = "root" Colass = "123456"> </jdbcconnection> <!-GERTERATE-GERALTIONTION-GERALTIONTION-GERALTIONTION-GERALTIONTIONTIOT. <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 Соответствующий клиент-> <javaclientgenerator targetPackage = "com.chaoqi.springboot_mybatisplus.dao.mapper" targetProject = "src/main/java" type = "xmlmapper"/> <!-Конфигурационная таблица-> <Таблица таблица = "%"> <! sqlStatement = "mysql"/> <!-Oracle Configuration-> <!-<GeneratedKey Column = "id" sqlStatement = "select seq_ {1} .nextval из двойного" Identity = "false" type = "/>-> </table> </context> </generatorConfiguration>Maven Run Generator
Сгенерированная структура проекта выглядит следующим образом
5. Интегрировать mybatisplus
Создать интерфейс сервиса и класс реализации услуг
Пакет com.chaoqi.springboot_mybatisplus.service; import com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; импорт java.util.list; public incusianfoservice {public list <musicinfo> Getmusicinf (); пакет com.chaoqi.springboot_mybatisplus.service.impl; import com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; импорт com.chaoqi.springboot_mybatisplus.dao.mapper.musicinfomapper; com.chaoqi.springboot_mybatisplus.service.musicinfoservice; import org.springframework.beans.factory.annotation.autowired; импорт org.springframework.stereoty.service; импорт java.util.list; @Autowired private musicinfomapper musicinfomapper; @Override public list <susiinfo> getmusicinfo () {list <musicinfo> musicinfos = musicinfomapper.selectall (); возвращать MusicInfos; }}Создать контроллер
пакет com.chaoqi.springboot_mybatisplus.web; import com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; импорт com.chaoqi.springboot_mybatisplus.service.musicinfoservice; org.springframework.beans.factory.annotation.autowired; импорт org.springframework.web.bind.annotation.requestmapping; импорт org.springframework.web.bindtation.restcontroller; Import java.utlertrestr {@Autowired private musicinfoservice musicinfoservice; @Requestmapping ("/showmusic") public list <susiinfo> getmusicinfo () {list <musicinfo> musicinfo1 = musicinfoservice.getmusicinfo (); возврат musicInfo1; }}Здесь я не пишу SQL для Mapper. Инкапсулируют некоторые простые SQLMYBATIPLUS, что экономит много времени разработки. Если это какой -то сложный SQL, он также может быть реализован путем написания Native SQL. Во втором блоге я рассказал об интеграции проекта Springboot+Springmvc+Mybatis.
Запустить Springbootmybatisplusapplication Основная функция
Пакет com.chaoqi.springboot_mybatisplus; import org.mybatis.spring.annotation.mapperscan; импорт org.springframework.boot.springapplication; импорт org.springframework.boot.autoconfigure.springbootapplication;@springbootapplication@mapperscan ("com.chaoqi.springboot_mybatisplus.dao.mapper") public clus SpringApplication.Run (SpringBootMyBatisPlusApplication.class, args); }}Посмотреть базу данных
Ниже приведены некоторые методы инкапсуляции mybatisplus. Как использовать эти методы конкретно. Заинтересованные друзья могут проверить исходный код. Mybatisplus также имеет мощную функцию страниц. Если вы заинтересованы, вы также можете узнать здесь.
(Адрес загрузки исходного кода)
Наконец, спасибо за просмотр. Пожалуйста, простите меня за отсутствие опыта в написании блогов.