【持久化フレーム】Mybatis概要と原理

2507 ワード

このブログからMybatisを勉強します。貴重なアドバイスをお願いします。
Mybatisとは何ですか
   MyBatis   apache       iBatis, 2010      apache software foundation     google code,     MyBatis
。iBATISという言葉は、「internet」と「abatiis」の組み合わせに由来し、Javaに基づく恒久層の枠組みです。iBATISが提供する耐久層フレームはSQL MapsとData Access Objects(DAO)を含む。MyBatis参考資料公式サイト:https://mybatis.github.io/mybatis-3/zh/index.html
公式サイトはMybatisの紹介に対してもっと権威があります。MyBatisは、固定化SQL、格納プロセス、および高度マッピングをサポートする優れた耐久層フレームである。MyBatisはほとんどのJDBCコードと手動設定パラメータと抽出結果セットを避けました。MyBatisは簡単なXMLまたは注釈を用いて基本体を構成しマッピングし、インターフェースとJavaのPOJOs(Plain Old Java Object、普通のJavaオブジェクト)をデータベースにマッピングする。
   MyBatis iBatis    ,          ,  MyBatis        。  :
1、Mybatisはインターフェースバインディングを実現し、より便利に使用する。
ibatis 2.xではDAOの実装クラスで具体的にどのxmlマッピングファイルに対応するかを指定する必要がありますが、MybatisはDAOインターフェースとxmlマッピングファイルとのバインディングを実現しました。自動的にインターフェースを生成する具体的な実現ができ、より使いやすくなります。
2、オブジェクト関係マップの改善、効率が高い
3、MyBatisは強力なONLベースの表現を採用し、他の要素を除去します。
     IBatis MyBatis         ,            。
MyBatisのフレームワークアーキテクチャ
    Mybatis    ,       Mybatis       ,            Mybatis        。     :
MyBatisアプリケーションは、XMLプロファイルに基づいてSql Session Factoryを作成し、Sql Session Factoryは構成によって構成され、構成は2つの場所から来ています。構成ファイルはJavaコードの注釈であり、Sql Sessionを取得します。Sql Sessionはsqlを実行するために必要なすべての方法を含み、Sql Sessionのインスタンスを通じて直接マッピングされたsql文を実行し、データの添削や事務提出などを完了し、使い切ったらSql Sessionをオフにします。
MyBatisの長所と短所
利点:1、簡単な学習mybatis自体は小さくて簡単です。第三者に依存するものはなく、最も簡単にインストールすれば、二つのjarファイル+いくつかのsqlマッピングファイルを配置して勉強しやすく、使いやすく、ドキュメントとソースコードを通して、その設計の構想と実現を比較的に完全に把握できます。
2、フレキシブルmybatisはアプリケーションやデータベースの既存の設計にいかなる影響を与えません。sqlはxmlに書いてあります。統一管理と最適化に便利です。sqlを通じて基本的には、データを使わずにフレームにアクセスできるすべての機能が実現できます。
3、sqlとプログラムコードの結合を解除することはDAL層を提供することにより、業務ロジックとデータアクセスロジックを分離し、システムの設計をより明確にし、よりメンテナンスしやすく、よりユニットテストを容易にする。sqlとコードの分離は、メンテナンス性を向上させました。
4、マッピングラベルを提供し、オブジェクトとデータベースのormフィールド関係マップをサポートします。
5、オブジェクト関係マップタグを提供し、オブジェクト関係の構築とメンテナンスをサポートする。
6、xmlラベルを提供し、ダイナミックsqlの作成をサポートします。
短所:
1、SQL文を書く時は仕事量が多いです。特にフィールドが多く、関連表が多い時はなおさらです。
2、SQL文はデータベースに依存しており、データベースの移植性が悪くなり、データベースを交換できない。
3、フレームはまだ比較的に粗末で、機能はまだ欠けています。データバインディングコードを簡略化していますが、全体の底のデータベース検索は実際に自分で書かなければならないので、仕事量も比較的大きいです。しかも、快速データベースの修正に慣れにくいです。
4、二級キャッシュメカニズムがよくない
締め括りをつける
mybatis      mybatis   ,   mybatis    ,      、                sql       。sql  xml ,       、       ,      ,       ,     。
mybatis  hibernate    ,  mybatis               ,      sql  。