1. 程式人生 > >【框架】Mybatis 01 原生態JDBC的問題&Mybatis架構

【框架】Mybatis 01 原生態JDBC的問題&Mybatis架構

原生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語句,

輸入引數、輸出結果型別

第六步:訪問資料庫。