框架是一個提供可重複的功用結構的半成品。它爲咱們構建新的應用程序提供了極大的便利,一方面提供了能夠拿來就用的工具,更重要的是提供了可重用的設計。D數據庫
1.不在考慮公衆問題框架已經幫咱們作好了 輸入連接說明 2.能夠專心用於業務邏輯,保證核心業務的開發和質量
3.結構統一便於學習和維護
4.框架集中了前人的經驗,能夠幫助新手寫出穩定新能優良且結構優美的高質量程序Kapp
1.Strus 2框架 2.Hibernate框架 3.Spring 框架 4.Spring MVC框架 5.MyBatis 框架Z
數據持久化是將內存中的數據模型轉換爲儲存類型,以及將儲存類型轉換爲 內存中的數據模型的統稱,:(半自動化是實體類和SQL語句創建的映射關係)
MyBatis是一個開源的數據持久層框架。它內部封裝了JDBC訪問數據的操做,支持普通的SQL查詢,儲存過程和高級映射,幾乎消除的JDBC代碼和參數的手工設置以及結果集的搜索框架
ORM(Object/Relational Mapping)即對象/映射關係,是一種數據持久化技術。
1.下載須要的jar文件 2.部署jar文件 3.建立MyBatis核心配置文件configuration.xml(全局配置) 4.建立持久化類(POJO)和SQL映射文件 5.
1.優勢: (1)與JDBC相比減小了百分之50代碼量 (2)是最簡單的持久化框架,小巧而且簡單易學。
(3)至關靈活不會對應用程序或者數據庫的現有設計增強任何影響,SQL寫在xml裏從程序代碼中完全分離,下降耦合度,便於統一管理和優化,並可重用 (4)提供xml標籤,支持寫動態SQL語句 (5)提供映射標籤,支持對象與數據庫的ORM字段關係映射工具
1.SqlSessionFactoryBuilder做用:負責構建SqlSessionFactory,而且提供多個build()方法的重載 .SqlSessionFactoryBuilder的生命週期和做用域: 最大特色就是用過即丟,一旦建立了SqlSessionFactory對象以後這個類就不在須要了,所以SqlSessionFactoryBuilder的最佳做用範圍就是存在於方法體內,也就是局部變量而已。學習
2.SqlSessionFactory的做用: 就是建立SqlSession實例工廠 SqlSessionFactoryBuilder 的生命週期和做用域: 一旦建立了就在整個應用運行過程當中始終存在,沒有理由去銷燬或者再次建立它,而且運行中不建議屢次建立,所以最佳做用域是Application跟着應用的生命週期一同存在。測試
3.SqlSession 做用: 用於執行持久化的操做對象,相似於JDBC中的Connection。它提供了面向數據庫執行SQL語句的全部方法,能夠經過SqlSession實例直接運行已映射的SQL語句 SqlSession 的生命週期和做用域: 對應着一次數據庫會話。因爲數據庫會話不是永久,所以生命週期也不該該是持久的,相反在每次訪問數據庫時都要建立它,(能夠執行屢次,可是一旦關閉就須要從新建立,)建立SqlSession的地方只有一個,就是SqlSessionFactory對象的openSession()方法。 SqlSession的兩種使用方式: (1) 經過SqlSession實例來直接執行已映射的SQL語句。經過調用selectList()方法執行 (2) 基於mapper接口方式操做數據。(提供接口方法getUserList())優化
(1)properties元素: 描述的外部化,可替代性屬性,(具體方法見(P28))。
(2)settings元素: 設置一些重要的設置選項,用於設置和改變MyBatis運行中的行爲 (1) cacheEnabled:對在此配置文件下全部cache進行全局性開/關設置 (2) lazyLoadingEnabled:全局性設置賴加載,若是設置爲false則全部相關聯的都會被初始化加載 (3) autoMappingBehavior:MaBatis對於resultMap自動映射的匹配級別(NONE/PARTIAL/FULL) (3) typeAliases元素: 做用是配置類型別名,經過與MyBatis的SQL映射文件相關聯減小輸入多餘完整類名,以簡化操做 (4) environments元素: 能夠配置多套運行環境,如開發環境,測試環境,生產環境能夠靈活的配置,從而將SQL語句映射應用到不一樣的數據庫環境上,能夠經過這個元素來配置。必須是惟一的運行環境每一個數據庫對於這一個SqlSessionFactory實例的。見(P30下方) (5) mappers元素: mappers映射器,用來定義SQL的映射語句,咱們只須要高MyBatis去哪裏找到這些SQL語句,即去哪裏找相應SQL映射文件,可使用類資源路徑或URL等見ui