MyBatis、Mybatis Plus(面接でよく聞きます)
2199 ワード
記事の目次 MyBatis概要 Sql Sessionとその役割は何ですか? Mybatisの中で値を取る方式は何種類ありますか?それぞれの違いは何ですか? MyBatisのキャッシュメカニズム? 一級キャッシュ: 二級キャッシュ: MyBatisの重要なラベル? Mybatis Plus MyBatis Plusの紹介? は を使用します.
MyBatis概要
Sql Sessionとその役割は何ですか?
sql Sessionはmybatisフレームの中の一つのオブジェクトで、JDBCのConnectionオブジェクトのようなものです.javaプログラム端とデータベースの間の会話フレームの下部にsql Sessionオブジェクトを通してsql文を実行して、添削と検索の操作を実現してくれます.
Mybatisにはいくつかの方法がありますか?それぞれの違いは何ですか?
MybatisはMapperファイルからserviceの値を取得する方法です.全部で2つの方法があります.
MyBatisのキャッシュメカニズム?
作用:
ウェブアプリケーションとデータベース(ディスク)へのアクセスを減らし、クエリ効率を高め、データベースへのアクセス圧力を軽減する.データベースの圧力を軽減する構想:メモリ中のデータの取得速度は物理ディスクより大きく、データをキャッシュに保存することができます.
キャッシュされたデータ構造:
Mybatisのキャッシュは実はHashMapで、keyは本当にsql文を実行しています.valueはキャッシュの結果です.
レベルキャッシュ:
は
は、
カスタムキャッシュ:自分でクラスを書いて、mybatis提供のcacheインターフェイスを実現しなければならなくて、redisのためにカスタマイズすることができます.
メカニズム:
webアプリケーションがsqlを実行してデータを取得します.mybatisは先にキャッシュから取得します.なければsqlクエリデータベースを送信して結果を返します.同時に結果をキャッシュに入れます.
MyBatisの重要なラベル?
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