0 概述
首先要明確的就是mybatis 是一個sql mapper framework ,它也具備ORM (Object Relation Mapping)框架的一些基本特性(它做的事情只是Relation->Object) 。mybatis更像是一個sql 工具,目標在于消除JDBC相關的代碼,讓數據庫操作更簡潔方便,開發人員不用關心如何去連接數據庫,如何發送sql語句,如何取各個字段;讓程序員主要精力放在sql上,通過mybaits提供映射方式,自由靈活生成滿足需要的sql語句。
1 整體架構
下圖給出了mybatis一個簡單結構圖,從圖中可以看出:
1.mybatis通過解析配置文件生成DataSource和MappedStatement對象
2.mybaits使用SqlSession作為統一的對外接口,屏蔽內部執行細節;其是面向程序員的接口 ,其作用是操作數據庫,發出具體的Sql(增刪改查)。mybaits 提供兩種sql執行模式(執行執行Statement Id的方式和通過Mapper接口的方式)。
3.mybaits 可以將PreparedStatement中輸入參數自動進行輸入映射,將查詢結果集靈活的映射成java對象(輸出對象)。