【框架】Mybatis 01 原生態JDBC的問題&Mybatis架構
阿新 • • 發佈:2018-12-16
原生JDBC的問題總結:
1、資料庫連線,使用時就建立,不使用立即釋放,對資料庫進行頻繁開啟和關閉,造成資料庫資源浪費,影響資料庫效能。
解決:使用資料庫連線池管理資料庫連線
2、將sql語句硬編碼到java程式碼中,如果修改sql語句,需要重新編譯java程式碼,不利於系統維護。
解決:將sql配置到xml配置檔案中,即使sql變化。不需要對java程式碼進行重新編譯。
3、向preparedStatement中設定引數,對佔位符位置和設定引數值,硬編碼在java程式碼,不利於系統的維護。
解決:將sql語句和佔位符和引數全部設定在xml檔案中、
4、從resultSet中遍歷結果集資料時,存在硬編碼,不利於系統維護
解決:將查詢的結果集,自動對映成java物件。
1、mybatis簡介
mybatis是持久層的框架,是一個不完全的ORM框架,mybatis讓程式設計師將精力主要放在sql上,
mybatis可以訪問preparedStatement中的輸入引數自動進行輸入對映,將查詢的結果集靈活對映成java物件。(輸出對映)2
2、mybatis流程:
第一步:mybatis的配置檔案
1、sqlMapConfig.xml 是mybatis的全域性配置檔案
配置資料來源、事務等
2、配置對映檔案(配置sql語句) mapper.xml
第二步:根據配置檔案建立sqlSesionFactory(會話工廠)
SqlSessionFactory(會話工廠),根據配置檔案建立工廠
作用:建立SqlSession
第三步:會話工廠建立sqlSession
SqlSession(會話),是一個介面,面向使用者(程式設計師)的介面
作用:操作資料庫(發出sql增、刪、改、查)
第四步:SqlSession內部通過執行器操作資料庫
Executor(執行器),是一個介面(基本執行器、快取執行器)
作用:SqlSession內部通過執行器操作資料庫
第五步:mapped statement對操作資料庫儲存封裝
mapped statement(底層封裝物件)
作用:對操作資料庫儲存封裝,包括 sql語句,