導入:
MyBatis-Plus(略してMP)はMyBatis強化ツールです。 MyBatisに基づいて、開発を単純化し、効率を改善するために、強化され、変化しないだけで生まれています。 (MyBatis-Plus公式ウェブサイトからの抜粋)MyBatisは私たちに非常に便利なものを提供してくれましたが、まだ欠点があります。 MPの存在は、Mybatisの欠点をわずかに補うことです。 MyBatisを使用すると、ビジネスロジックを作成したいときはいつでも、DAOレイヤーにメソッドを作成し、SQLに対応する必要があることがわかります。単に条件を照会したとしても、DAOレイヤーに新しい方法を追加する必要があります。この問題に応えて、MPはMyBatisとHibernateの利点を組み合わせたフレームワークです。 MyBatisの特徴を保持しながら、Hibernateの単一テーブルカード操作の利便性を提供します。
この章では、mybatisplusの使用方法のみを教えてください。基礎となるレイヤーの実装方法を詳細に理解する場合は、ソースコードをダウンロードして公式Webサイトで解釈できます。
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 <http://www.w3.org/2001 xsi:schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.0.sdsd"> <modeleversion> 4.0.0 </modelversion> <groupid> com.chaoqi </groupid> <artifactid> springboot_mybatisplus </artifactid> <version> 0.0.1-snapshot </version> <packaging> jar </packaging> <name> springboot_mybatisplus </name> <説明<Artifactid> spring-boot-starter-parent </artifactid> <bersion> 2.0.0.release </version> <relativepath/> </properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reporting.outputencoding> utf-8 </project.reporting.outputencoding> <java.version> 1.8 </java.version> </properties> <dependencies> <shipencies> <dependency> </dependency> <dependency> groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-web </artifactid> </dependency> <dependency> <groupid> org.mybatis.spring.boot </groupid> <artifactid> mybatis-spring-boot-tatrter> <バージョン> 1.3.2 </version> </dependency> <依存関係> <groupid> mysql </groupid> <artifactid> mysql-connector-java </artifactid> <scope> runtime </scope> </dependency> <依存関係> <依存関係> <グループ<artifactid> spring-boot-starter-test </artifactid> <scope>テスト</scope> </dependency> <! - jsp依存関係を追加 - > <依存関係> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-startertomcat </artifactid> </depancy> <concy> <groupid> org.apache.tomcat.embed </groupid> <artifactid> tomcat-embed-jasper </artifactid> </dependency> <! - springbatisリバースエンジニアリング - > <依存関係> <依存科学> org.mybatis.generator </groupid <バージョン> 1.3.2 </version> </dependency> <! - mybatis general mapper-> <dependency> tk.mybatis </groupid> <artifactid> mapper-spring-boot-starter </artifactid> <バージョン> 1.1.4 </バージョン> </依存関係> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-maven-plugin </artifactid> </plugin> <plugin> <groupid> org.mybatis.generator </groupId> <artifactid> mybatis-generator-maven-plugin-plugin </>>>>> <ConfigurationFile> src/main/resources/generatorconfig.xml </configurationfile> <verbose> true </verbose> <overwrite> true </overwrite> </configuration> <executions> <execution> <id> Mybatis Artifacts </id> <goal> </goal> </</execution> </</execute> </execution> <dependencies> <deplency> <groupid> org.mybatis.generator </groupid> <artifactid> mybatis-generator-core </artifactid> <バージョン> 1.3.2 </version> </dependency> <依存関係> <groupid> tk.myBatis < </Dependency> </dependencies> </plugin> </plugins> </build> </project>
3。Application.ymlを編集します
サーバー:ポート:8080SPRING:MVC:表示:プレフィックス:/web-inf/jsp/suffix:.jsp datasource:url:jdbc:mysql:// localhost:3306/testecoding = utf-8&useunicode = true&usessl = false username:root dirter passwers:123456 dirter name: com.mysql.jdbc.drivermybatis:mapper-locations:clasppath:mapper/*。xml type-aliase-package:com.chaoqi.springboot_mybatisplus.domain
4。ポジョの逆生成、マッパー
GeneratorConfig.xmlを作成します
<?xml version = "1.0" encoding = "utf-8"?> <!doctype generatorconfiguration public " - // mybatis.org//dtd mybatisジェネレーター構成1.0 // en" "http://mybatis.org/dtd/mybatis-generator-generator-config_1_0リソース= "application.yml"/> <classpathentry location = "d:/mysql/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar"/> <context id = "mysql"ターゲットランティイム= "mybatis3simple値= "` "/> <プロパティ名=" enddelimiter "value =" `"/> <プロパティ名= "javafileencoding" value = "utf-8"/> <plugin type = "tk.mybatis.mapper.generator.mapperplugin"> <プロパティ名= " </plagin> <! - コメント - > <commentgenerator> <! - タイムスタンプのコメントを生成するかどうか - > <プロパティ名= "suppressdate" value = "true"/> <! - 自動生成コメントを削除するかどうか真:false:fals:no-> <プロパティ名= "suppressallcomments" value = "false"/> driverClass = "com.mysql.jdbc.driver" connectionurl = "jdbc:mysql:// localhost:3306/test?carcherlecoding = utf-8" userid = "root"パスワード= "123456"> </jdbcconnection> <!ターゲットパッケージ= "com.chaoqi.springboot_mybatisplus.dao.domain" stargproject = "src/main/java"/> <! - 生成xmlファイル - > <sqlmapgenerator targetpackage = "mapper"ターゲットプロジェク<javaclientgenerator targetpackage = "com.chaoqi.springboot_mybatisplus.dao.mapper"ターゲットプロジェクト= "src/main/java" type = "xmlmapper"/> <! - 構成テーブル情報 - > <テーブルテーブル= " sqlstatement = "mysql"/> <! - oracle configuration-> <! - <generatedkey column = "id" sqlstatement = "select seq_ {1} .nextval from dual" ID = "false" Type = "pre"/> - > </table> </context> </generatorconfiguration> </generatorconfiguration>Maven Runジェネレーター
生成されたプロジェクト構造は次のとおりです
5。mybatisplusを統合します
サービスインターフェイスとサービス実装クラスを作成します
パッケージcom.chaoqi.springboot_mybatisplus.service; Import com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; Import java.util.list; public interface muchicinfoservice {public List <muchinfo> getMusicinfo>パッケージcom.chaoqi.springboot_mybatisplus.service.impl; Import com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; Import com.chaoqi.springboot_mybatisplus.dao.mapper.musicinfomapper; com.chaoqi.springboot_mybatisplus.service.musicinfoservice; import org.springframework.beans.actory.annotation.autowired; import org.stringframework.stereotype.service; import java.util.list; @autowired private musicinfomapper musicinfomapper; @Override public List <MusicInfo> getMusicInfo(){list <MusicInfo> musicInfos = musicinfomapper.selectall(); return musicinfos; }}コントローラーを作成します
パッケージcom.chaoqi.springboot_mybatisplus.web; import com.chaoqi.springboot_mybatisplus.dao.domain.musicinfo; import com.chaoqi.springboot_mybatisplus.service.musicinfoservice; import; org.springframework.beans.factory.annotation.autowired; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.restcontroller; Import Java.util.list; MusicInfocontroller {@autowired private musicinfoservice musicinfoservice; @RequestMapping( "/showmusic")public list <musicinfo> getMusicInfo(){list <musicinfo> musicinfo1 = musicinfoservice.getMusicInfo(); return musicinfo1; }}ここでは、MapperのSQLを書きません。いくつかの単純なsqlmybatiplusはカプセル化されており、多くの開発時間を節約します。複雑なSQLの場合、ネイティブSQLを作成することで実装することもできます。私の2番目のブログでは、Springboot+SpringMVC+MyBatisプロジェクトの統合について話しました。
SpringBootMyBatisPlusApplicationメイン関数を実行します
パッケージcom.chaoqi.springboot_mybatisplus; import org.mybatis.spring.annotation.mapperscan; Import org.springframework.boot.springApplication; Import org.springframework.boot.autoconfigure.springbootapplication;@springbootapplication@mapperscan( "com.chaoqi.springboot_mybatisplus.dao.mapper")パブリッククラスSpringbootmybatisplusapplication {public Static void main(] {] SpringApplication.run(SpringBootMyBatisPlusApplication.Class、args); }}データベースを表示します
以下は、mybatisplusのカプセル化のためのいくつかの方法です。これらの方法を具体的に使用する方法。興味のある友達はソースコードを確認できます。 MyBatisplusには強力なページネーション関数もあります。興味があれば、ここで学ぶこともできます。
(ソースコードのダウンロードアドレス)
最後に、見てくれてありがとう。ブログを書く際のあなたの経験が不足していることを許してください。