SpringBootの研究ノート(6)MyBatisの統合

簡単な紹介

この記事ではSpringBoot統合MyBatisの、アリババのドルイドを使用して、データベース接続プールを紹介します。フレームワークお忍びSpringBootは、SQLにファイルを書き込むことができますが統合されたmybaitsのXMLの使用をサポートしていませんが、また達成するために使用することができるXML構成XML SQLに慣れ。具体的な方法は、フレームワークの動作のために、主に再構築するために、重要ではありません何の実現が比較的明確です。このブログは仕方をコメントしていない、書き込みのXMLのSQL MyBatisのを達成するための方法です。

ポンポン設定ファイル

<?xml version = "1.0"エンコード= "UTF-8"?> 
<プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0"のxmlnsを:XSI = "のhttp://www.w3 .ORG / 2001 / XMLスキーマ・インスタンス」
         のxsi:のschemaLocation = "http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion> 4.0.0 </ modelVersion> 
    <親> 
        <のgroupId> org.springframework.boot </のgroupId> 
        <たartifactId>ばねブートスタータ親</たartifactId> 
        <バージョン> 2.2.0.RELEASE </バージョン> 
        <relativePath /> <! -ルックアップ親リポジトリから- > 
    </親> 
    <groupIdを> com.meng </ groupIdを> 
    <たartifactId>デモ</たartifactId> 
    <バージョン> 0.0.1-SNAPSHOT </バージョン> 
    <名前> db_demo </名前>
    春ブーツのための<説明>デモプロジェクト</記述> 

    <プロパティ> 
        <のjava.version> 1.8 </java.version> 
    </プロパティ> 

    <依存性> 
        <依存> 
            <groupIdを> org.springframework.boot </ groupIdを> 
            <たartifactId>ばねブートスタータデータJPA </たartifactId> 
        </依存> 
        <依存性> 
            <のgroupId> org.springframework.boot </のgroupId> 
            <たartifactId>ばねブートスタータウェブ</たartifactId> 
        </依存関係> 


        <依存> 
            <groupIdを> org.springframework.boot </ groupIdを> 
        <依存>
            <たartifactId>春・ブート・スターター-JDBC </たartifactId>
        </依存> 
            <groupIdを> log4jの</ groupIdを>
            <のgroupId> org.mybatis.spring.boot </のgroupId> 
            <たartifactId> MyBatisのスプリングブートスタータ</たartifactId> 
            <バージョン> 2.1.1 </バージョン> 
        </依存> 
        <依存性> 
            <のgroupId> MySQLの< /のgroupId> 
            <たartifactId>のmysql-コネクタ-javaの</たartifactId> 
            <スコープ>ランタイム</スコープ> 
        </依存関係> 
        <! -自定义连接池- > 
        <依存> 
            <groupIdを> com.alibaba </ groupIdを> 
            <たartifactId>ドルイド</たartifactId> 
            <バージョン> 1.1.10 </バージョン> 
        </依存関係>

        <依存> 
            <たartifactId> log4jの</たartifactId> 
            <バージョン> 1.2.17 </バージョン> 
        </依存> 

        <依存性> 
            <のgroupId> org.springframework.boot </のgroupId> 
            <たartifactId>ばねブートスタータ試験</たartifactId > 
            <スコープ>テスト</スコープ> 
            <除外> 
                <除外> 
                    <のgroupId> org.junit.vintage </のgroupId> 
                    <たartifactId> JUnitのヴィンテージエンジン</たartifactId> 
                </除外> 
            </除外> 
        </依存> 
    </依存関係>

    <ビルド> 
        <プラグイン> 
            <プラグインを>
                <groupIdを> org.springframework.boot </ groupIdを>
                <たartifactId>春・ブートのmaven-pluginの</たartifactId> 
            </プラグイン> 
        </プラグイン> 
    </構築> 

</プロジェクト>

SpringBootプロフィール

春:
  データソース:
    ユーザ名:ルート
    パスワード:123456 
    URL:JDBC:MySQLの://192.168.0.157:3306 / DB1の
    ドライバクラス名:com.mysql.cj.jdbc.Driver 
    タイプ:com.alibaba.druid.pool。 DruidDataSourceの

    #データソース他の構成
    #初期サイズ、最小値、最大
    INITIALSIZE :. 5 
    minIdle :. 5 
    MAXACTIVE用:20である
    タイムアウト時間待って接続取得#構成
    MAXWAIT:60000の
    #間隔そのような検出の頻度を、検出部、アイドル状態の接続を閉じるために必要ミリ秒
    timeBetweenEvictionRunsMillis:60000の
    #は最小接続時間生存プールミリ秒に設定
    minEvictableIdleTimeMillisを:300000 
    validationQuery:SELECT FROM DUAL 1。
    testWhileIdle:trueに 
    testOnBorrow:falseに
    testOnReturn:偽
    poolPreparedStatements:trueに
    #監視統計には、ファイアウォールのためではない統計情報の監視インタフェースSQLを除去した後、 '壁'、フィルタを傍受設定する
    フィルタ:STAT、ウォール、log4jの
    maxPoolPreparedStatementPerConnectionSize:20 
    useGlobalDataSourceStat:trueに
    て、ConnectionProperties:druid.stat.mergeSql = trueに、ドルイドを。 = 500 stat.slowSqlMillis 
MyBatisの:
  コンフィグ-LOCATION:CLASSPATH:MyBatisの/ MyBatisの-のconfig.xml 
  マッパー-場所:CLASSPATH:MyBatisの/マッパー/ * XML。

 

そして、エンティティクラスの実装プロセスの作成を開始

パッケージの作成:エンティティ、マッパー、コントローラを。SQL文を書くためのリソースマッピングの下にフォルダを作成しても、マッパーのjavaファイルに直接書き込むことができ、直接以下のコードを貼り付け

応用

@MapperScan( "com.meng.demo.mapper")//走査経路次のインターフェイス
@SpringBootApplication 
パブリッククラスDbDemoApplication { 

    パブリック静的無効メイン(文字列[] args){ 
        SpringApplication.run(DbDemoApplication.class、引数); 
    } 

}

 

JavaBeanオブジェクト

パブリッククラスEmployeePO { 
    プライベート整数ID。
    プライベート文字列lastNameの。
    プライベート文字列電子メール; 
    プライベート整数性別; 
    プライベート整数D_ID。

 

マッパー

インタフェースEmployeeMapper {公共

    公共EmployeePO getById(ID整数); //クエリID 

    公共ボイドINSERT(EmployeePO employeePO); //追加
}

 

コントローラ

@RestController 
パブリッククラスDemoController { 

    @Autowired 
    EmployeeMapper employeeMapper。

    ( "/ EMP / {ID}")@GetMapping 
    公共EmployeePO getEmp(@PathVariable( "ID")、整数ID){ 
        (ID)employeeMapper.getByIdを返します。
    } 

    @GetMapping( "/ EMP")
    パブリックEmployeePOインセット(EmployeePO employeePO){ 
        employeeMapper.insert(employeePO)。
        employeePOを返します。
    } 

}

  

Mapper.xmlプロフィール

<?xml version = "1.0"エンコード= "UTF-8"?> 
<DOCTYPEマッパーPUBLIC! " - // mybatis.org//DTDマッパー3.0 // EN"「http://mybatis.org/dtd/mybatis -3- mapper.dtd "> 
<マッパー名前空間=" com.meng.demo.mapper.EmployeeMapper "> 

    <SELECT ID =" getById」resultTypeと= "com.meng.demo.entity.EmployeePO"> 
		SELECT 
			* 
		FROM従業員
		WHERE a.id =#{ID} 
	</選択> 


    <挿入ID = "挿入" keyProperty = "ID" useGeneratedKeys = "真"> 
		従業員(lastNameの、電子メール、性別、D_ID)に挿入
		値(#{lastNameの}、#{メール}、#{性別}、{#D_ID})
	</インサート> 

</マッパー>

 

MyBatisの-config.xml構成ファイル

<?xml version = "1.0"エンコード= "UTF-8"?> 
<DOCTYPE設定!
        PUBLIC " - // mybatis.org//DTDコンフィグ3.0 // EN" 
        「http://mybatis.org/dtd/mybatis -3- config.dtd "> 
<設定> 
    <設定> 
        <設定名=" mapUnderscoreToCamelCase」値= "true"を/> <! -驼峰命名- > 
    </設定> 
</ configuration>の

 

最終的なアーキテクチャ

 

 最後のテスト開始

ブラウザでは、次のように入力しますHTTPを:// localhostを:?8080 / EMP lastName=%E6%B5%8B%E8%AF%9505&[email protected]&gender=10&d_id=1は、    行を挿入します

 

 ブラウザでは、次のように入力しますHTTPを:// localhostを:8080 / EMP / 5    クエリのデータを

 

おすすめ

転載: www.cnblogs.com/mengY/p/11733713.html
おすすめ