MyBatis、Mybatis Plus(面接でよく聞きます)

2199 ワード

記事の目次
  • MyBatis概要
  • Sql Sessionとその役割は何ですか?
  • Mybatisの中で値を取る方式は何種類ありますか?それぞれの違いは何ですか?
  • MyBatisのキャッシュメカニズム?
  • 一級キャッシュ:
  • 二級キャッシュ:
  • MyBatisの重要なラベル?
  • Mybatis Plus
  • MyBatis Plusの紹介?
  • を使用します.
    MyBatis概要 ソリューション(DAO)、半自動化されたORMフレームワーク、SQL mapper.MyBatisはORMフレームワークで、 JDBC, .
    Sql Sessionとその役割は何ですか?
    sql Sessionはmybatisフレームの中の一つのオブジェクトで、JDBCのConnectionオブジェクトのようなものです.javaプログラム端とデータベースの間の会話フレームの下部にsql Sessionオブジェクトを通してsql文を実行して、添削と検索の操作を実現してくれます.
    Mybatisにはいくつかの方法がありますか?それぞれの違いは何ですか?
    MybatisはMapperファイルからserviceの値を取得する方法です.全部で2つの方法があります.#{} は、最下層は? の方式を採用し、 SQL は、同構成のSQL を実行する.${} SQL 、最下層は sqlの方式を採用しています.もしいくつかの sql が必要ならば.
    MyBatisのキャッシュメカニズム?
    作用:
    ウェブアプリケーションとデータベース(ディスク)へのアクセスを減らし、クエリ効率を高め、データベースへのアクセス圧力を軽減する.データベースの圧力を軽減する構想:メモリ中のデータの取得速度は物理ディスクより大きく、データをキャッシュに保存することができます.
    キャッシュされたデータ構造:
    Mybatisのキャッシュは実はHashMapで、keyは本当にsql文を実行しています.valueはキャッシュの結果です.
    レベルキャッシュ:
    ( order by) $であり、作用域は同じSql Sessionであり、同じsql Sessionの中で同じsql文を2回実行し、初めて実行したらデータベースで調べたデータをキャッシュ(メモリ)に書き込み、2回目はキャッシュからデータを取得するとデータベースから検索しなくなり、クエリ効率を向上させる.一つのsql Sessionが終わったら、このsql Sessionの中の一級キャッシュは存在しなくなります.SqlSession レベル2キャッシュ:
    は、Mybatis (Sql Session Factoryともいう)であり、mapper は、同じnamespaceのsql文を2回実行し、sqlにパラメータも同じつまり最終的に同じsql文を実行し、初めて実行したらデータベースで調べたデータをキャッシュ(メモリ)に書き込み、第二回目はキャッシュからデータを取得すると、データベースからのクエリーがなくなり、クエリの効率が向上します.Mybatisはデフォルトでは二級キャッシュを開いていません. mapper namespace、mapperファイルにラベルを追加する必要があります.setting が実行されると、 が実行される.
    カスタムキャッシュ:自分でクラスを書いて、mybatis提供のcacheインターフェイスを実現しなければならなくて、redisのためにカスタマイズすることができます.
    メカニズム:
    webアプリケーションがsqlを実行してデータを取得します.mybatisは先にキャッシュから取得します.なければsqlクエリデータベースを送信して結果を返します.同時に結果をキャッシュに入れます.
    MyBatisの重要なラベル? タグの sql namespace は、ここでと一致しているべきである.Namespace