プロジェクトでは、CRUDを統合することがスプリングブートMyBatisの春ブーツ(c)を開始しました

使用して、基本的に2つの基本的な方法、拡張方法をCRUDフレームワークをMyBatisの。XMLマッピングファイルと使用のノートを使用するには、2つの基本的な方法があります。拡張は、その使用がバネデータJPAと同様であり、MyBatisのプラス方法を使用することです。

1.依存紹介

<! - springboot的ウェブ起步依赖- > 
<依存>
<groupIdを> org.springframework.boot </ groupIdを>
<たartifactId> springboot-スターター・ウェブ</たartifactId>
</依存関係>
<! - MyBatisの起步依赖- > 
<依存> 
       <groupIdを> org.mybatis.spring.boot </ groupIdを> 
       <たartifactId> MyBatisのスプリング・ブート・スターター</たartifactId> 
       <バージョン> 2.1.0 </バージョン> 
</依存関係>    
<! - MySQLの连接驱动- > 
<依存>
<groupIdを> mysqlの</ groupIdを>
<たartifactId>のmysql-コネクタ-javaの</たartifactId>
<スコープ>ランタイム</スコープ>
</依存関係>

2.entityのエンティティクラス

@tablename(値=「tb_user」) // MyBatisのプラスを使用する際に追加する必要があり、データベース内のテーブルとビルド関係
パブリッククラスSYSUSER実装シリアライズ{ 

    ニーズが@TableId(タイプ= IdType.AUTO)//利用MyBatisのプラスを追加します、主キーの生成方法
    プライベートロングID; 

    プライベート文字列名; 


    プライベート文字列のパスワード; 

    プライベート文字列の塩; 
    プライベート文字列アバター; 
    プライベート文字列紹介; 
    プライベート文字列の発言; 
    //省略GET、セット方法
}

プロファイルapplication.propertiesを作成します3。

#DB構成データベース情報:
spring.datasource.driverClassName =はcom.mysql.jdbc.Driver
spring.datasource.url = JDBC:MySQLの:///テスト
spring.datasource.username =ルート
spring.datasource.password =ルート
spring.datasource = com.zaxxer.hikari.HikariDataSource .TYPE

#spring MyBatisの統合環境
#pojoスキャンパッケージの別名
mybatis.type-別名= cn.zhq.system.entityパッケージ
#マッピングファイルMyBatisの負荷に
mybatis.mapper-場所を=クラスパス:マッパー/ Mapper.xml *

#印刷のSQL
コンソールに出力#sqlを
logging.level.cn.zhq.system.mapper =デバッグ
mybatis.type-エイリアスパッケージは、パケット、mybatis.mapper-位置が設定ファイルの場所であるエンティティの場所です。SQLの最初の使用に加えて最高の印刷設定すると、何かがうまくいかない場合は、そのように簡単で、エラーの原因を見つけるために。

UserMapperクラスを作成します。4.

@Mapper 
パブリックインターフェイスUserMapper { 

}

アプリケーション春のブート注釈5.

@EntityScan(「cn.zhq.system.entity」)//塗りつぶしのエンティティクラスどこパッケージの場所。

このコメントを追加した後、springbootは、エンティティクラスをスキャンすることができるようになります。

6. CRUD

6.1 CRUDことmapper.xml

メソッドUserMapperクラス6.1.1を書きます

    / ** 
     *ユーザデータクエリの名前
     * 
     * @paramユーザ名
     * @return 
     * / 
    SYSUSER findByName(文字列のユーザー名);

資源のマッパーディレクトリにUserMapper.xmlプロファイルの作成6.1.2

<!DOCTYPEマッパーPUBLIC " - // mybatis.org//DTDマッパー3.0 // EN" 
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
<マッパー名前空間= "cn.zhq。 system.mapper.UserMapper "> 
    <SELECT ID =" findByName」resultTypeと= "SYSUSER"のParameterType = "文字列"> 
      選択* tb_userから場所名=#{ユーザー名} 
    </選択> 
</マッパー>

、追加、削除することを選択したタグ、ラベルを使用更新、変更操作を使用してクエリを実行します。IDは、戻り値のクラスメソッドUserMapper、resultTypeと型の名前であるのParameterTypeパラメータタイプが受信されます。

6.2使用注釈はCRUDました

    / ** 
     *更新用户名
     * @param名
     * / 
    @Update( "更新tb_userセット名=#{ユーザー名}ここで、ID =#{ID}")
    空隙updateByAvatar(文字列名、ロングID)。

@Updateコメントを使用した後、あなたUserMapper設定ファイルを書くために不要になった、共感は操作への追加や削除を@Updaeすることができます。また@Selectクエリを使用します。クエリ対多、多の関係でも結果を返すようにデータの種類を指定する@Results注釈を使用することができたとき、私たちはここでは詳しく説明しません。

二つの方法上記の設定ファイルに関してステートメントSQL低カップリングの利点が、あまりにも面倒、使用注釈の方法を書かれた設定ファイルを使用して、長所と短所を持っているが、比較的簡単ですが、結合が高いです。それは簡単な文がある場合は文がコンフィギュレーションファイルを使用して、複雑な場合、提案は、注釈を使用することです。どちらの方法で特定の使用、場合に応じて。

CRUD 6.3 MyBatisのプラス

MyBatisのプラススプリングデータJPAと同様に、内蔵されたクエリ、更新は、我々はこれらの単純なSQL文を記述する必要はありませんのでこと、文を挿入し、削除します。

6.3.1導入依存性

<! - MyBatisのプラス- > 
        <依存> 
            <groupIdを> com.baomidou </ groupIdを> 
            <たartifactId> MyBatisのプラスブートスターター</たartifactId> 
            <バージョン> 3.2.0 </バージョン> 
        </依存関係>

6.3.2 application.ymlプロフィール

#MyBatisのプラス
MyBatisのプラス:
  型別名パッケージ:cn.zhq.system.entity 
  マッパー-場所:クラスパス:マッパー/ * XMLの
  設定:
    JDBC型-のためのヌル:nullの
  グローバル設定:
    バナー:偽
エンティティエンティティクラスのパッケージ位置を埋めるために、型の別名パッケージ。マッパー-場所:ファイルの地図上の位置で塗りつぶし、あなたはマッパーの構成エラーのあなたのリソースファイルでそれを書いていない場合。

6.3.3関連サービス、serviceImpl、マッパークラス

サービス:

パブリックインターフェースUserServiceのはIService <SYSUSER>を延び{ 


    / ** 
     *更新
     * 
     * @param SYSUSER 
     * / 
    ボイド更新(SYSUSER SYSUSER)。
}

serviceImpl:

@Service 
パブリッククラスUserServiceImplはServiceImpl <UserMapper、SYSUSER>実装UserServiceの{延び
    @Autowired 
    プライベートUserMapper userMapperと、

    @Override 
    @Transactional 
    公共ボイド更新(SYSUSER SYSUSER){ 
        userMapper.updateById(SYSUSER)。
    } 
}

マッパー:

@Mapper 
パブリックインターフェースUserMapperはBaseMapperを拡張<SYSUSER> { 
}

我々はUserMapperで任意のメソッドを定義していないが、それmybatisPlusは、私たちに利用できるいくつかの方法を統合しますが。

次のように実行した後、印刷されたSQL文の結果は、

おすすめ

転載: www.cnblogs.com/Code-Handling/p/12047735.html
おすすめ