使用して、基本的に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文の結果は、